【发布时间】:2021-12-31 10:02:54
【问题描述】:
如何在网格搜索中参数化特征选择步骤的估计器(此处为 n_estimators 或 RandomForestClassifier)?
from sklearn.feature_selection import SelectFromModel
from sklearn.ensemble import RandomForestClassifier
sfm = SelectFromModel(RandomForestClassifier(n_estimators=100, random_state=42))
pipe = Pipeline(steps=[('preprocessor', preprocessor),
('selector', sfm),
('regressor', lr)])
from sklearn.model_selection import GridSearchCV
param_grid = {
"selector__threshold": ['0.45*median',
'0.5*median',
'0.55*median',
'1*median',
'1.25*median',
'1.5*median',
'1.75*median',
'2*median'],
"regressor__penalty": ['l2'],
"regressor__C": [0.05, 0.1, 0.25, 0.5, 0.75, 1, 1.5],
}
search = GridSearchCV(pipe,
param_grid,
n_jobs=-1,
refit=True,
verbose=3)
search.fit(X_train, y_train)
【问题讨论】:
标签: python scikit-learn feature-selection