一)GridSearchCV简介
网格搜索(GridSearch)用于选取模型的最优超参数。获取最优超参数的方式可以绘制验证曲线,但是验证曲线只能每次获取一个最优超参数。如果多个超参数有很多排列组合的话,就可以使用网格搜索寻求最优超参数的组合。
网格搜索针对超参数组合列表中的每一个组合,实例化给定的模型,做cv次交叉验证,将平均得分最高的超参数组合作为最佳的选择,返回模型对象。
GridSearchCV的sklearn官方网址:
http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html#sklearn.model_selection.GridSearchCV
二)sklearn.model_selection.GridSearchCV参数详解
sklearn.model_selection.GridSearchCV(
estimator,
param_grid,
scoring=None,
n_jobs=None,
iid=’warn’,
refit=True,
cv=’warn’,
verbose=0,
pre_dispatch=‘2*n_jobs’,
error_score=’raise-deprecating’,
return_train_score=False)
(1) estimator
选择使用的分类器,并且传入除需要确定最佳的参数之外的其他参数。
(2) param_grid
需要最优化的参数的取值,值为字典或者列表。
(3) scoring=None
模型评价标准,默认None。
根据所选模型不同,评价准则不同。比如scoring=”accuracy”。
如果是None,则使用estimator的误差估计函数。
https://scikit-learn.org/stable/modules/model_evaluation.html#scoring-parameter (官方文档)
Scoring的参数,如下图:
Scoring | Function | Comment |
Classification | ||
‘accuracy’ | metrics.accuracy_score | |
‘average_precision’ | metrics.average_precision_score | |
‘f1’ | metrics.f1_score | for binary targets |
‘f1_ |