在管道中的 运行 GridSearch 之后提取 best_params
Extract best_params after running GridSearch within a pipeline
所以我 运行 一个非常彻底的 GridSearch,在集成管道中具有 10 倍交叉验证,采用以下方式-
pipeline_rf = Pipeline([
('standardize', MinMaxScaler()),
('grid_search_lr', GridSearchCV(
RandomForestClassifier(),
param_grid={'bootstrap': [True],
'max_depth': [50, 100, 150, 200],
'max_features': ['auto', 'sqrt'],
'min_samples_leaf': [1, 2, 4],
'min_samples_split': [2, 5, 10],
'n_estimators': [100, 200, 500, 1000, 1500]},
cv=10,
n_jobs=-1,
scoring='roc_auc',
verbose=2,
refit=True
))
])
pipeline_rf.fit(X_train, y_train)
我应该如何提取最佳参数集?
您首先需要从管道中获取 gridSearchCV 对象,然后对其调用 best_params_
。这可以通过以下方式完成:
pipeline_rf.named_steps['grid_search_lr'].best_params_
所以我 运行 一个非常彻底的 GridSearch,在集成管道中具有 10 倍交叉验证,采用以下方式-
pipeline_rf = Pipeline([
('standardize', MinMaxScaler()),
('grid_search_lr', GridSearchCV(
RandomForestClassifier(),
param_grid={'bootstrap': [True],
'max_depth': [50, 100, 150, 200],
'max_features': ['auto', 'sqrt'],
'min_samples_leaf': [1, 2, 4],
'min_samples_split': [2, 5, 10],
'n_estimators': [100, 200, 500, 1000, 1500]},
cv=10,
n_jobs=-1,
scoring='roc_auc',
verbose=2,
refit=True
))
])
pipeline_rf.fit(X_train, y_train)
我应该如何提取最佳参数集?
您首先需要从管道中获取 gridSearchCV 对象,然后对其调用 best_params_
。这可以通过以下方式完成:
pipeline_rf.named_steps['grid_search_lr'].best_params_