如何对 RBFSampler 进行网格搜索

How to gridsearch RBFSampler

我想在 LightGBM 中进行网格搜索 RBFSampler。我不想更改 LightGBM 的任何参数,只更改 RBFSampler 的参数。我无法通过 RBFSampler 找出 运行 我的功能 (X) 的位置。

代码:

gamma = [.1,1,10]
n_components = [10,100,1000]
param_grid = {
    "gamma": gamma,
    "n_components": n_components,
    }
search = GridSearchCV(
    LGBMClassifier(n_jobs=-1,verbosity=0)
    ,param_grid=param_grid,n_jobs=-1,cv=tscv,verbose=0,
)

search.fit(X, y)

您需要一个管道来收集 RBFSampler 和模型。

from sklearn.pipeline import Pipeline

pipe = Pipeline([
    ('rbfs', RBFSampler()),
    ('lgbm', LGBMClassifier(n_jobs=-1, verbosity=0)),
])

param_grid = {
    "rbfs__gamma": gamma,
    "rbfs__n_components": n_components,
}

search = GridSearchCV(
    pipe,
    param_grid=param_grid,
    ...
)