GridSearchCV参数

# 导入模块
from sklearn.model_selection import GridSearchCV

# 函数全名
class sklearn.model_selection.GridSearchCV(
    estimator, param_grid, scoring=None, 
    fit_params=None, n_jobs=1, iid=True,
    refit=True, cv=None, verbose=0,
    pre_dispatch='2*n_jobs', error_score='raise', return_train_score=True)

# 举例
grid_search = GridSearchCV(forest_reg, param_grid,cv=5,scoring='neg_mean_squared_error')

参数解释:
estimator:所使用的分类器。
param_grid:值为字典或者列表,即需要最优化的参数的取值。

# param_grid可以是多个参数的组合
from sklearn.model_selection import GridSearchCV
param_grid = [
{'n_estimators': [3, 10, 30], 'max_features': [2, 4, 6, 8]},
{'bootstrap': [False], 'n_estimators': [3, 10], 'max_features': [2, 3, 4]},
]
 
forest_reg = RandomForestRegressor()
grid_search = GridSearchCV(forest_reg, param_grid, cv=5,
                          scoring='neg_mean_squared_error')
 
grid_search.fit(housing_prepared, housing_labels)
# sklearn 根据param_grid的值,首先会评估3×4=12种n_estimators和max_features的组合方式,接下来在会在bootstrap=False的情况下(默认该值为True),评估2×3=6种12种n_estimators和max_features的组合方式,所以最终会有12+6=18种不同的超参数组合方式,而每一种组合方式要在训练集上训练5次, 所以一共要训练18×5=90 次,当训练结束后,可以通过best_params_获得最好的组合方式。

scoring:准确度评价标准,默认None。
n_jobs:并行数,int:个数,-1:跟CPU核数一致, 1:默认值。
cv:整数或者交叉验证生成器或一个可迭代器

grid_search.best_params_         # 获得最好的组合方式
grid_search.best_estimator_      # 获得最好的模型
grid_search.best_score_             # 获得优化过程期间观察到的最好的评分
grid_search.best_index_             # 获得最佳候选参数设置的索引(cv_results_数组的索引)。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容