导入搜索器:
from sklearn.model_selection import GridSearchCV
GridSearchCV搜索器用于对估计器的指定参数值进行穷尽搜索。如果我有3个待搜索的参数ABC,它们分别有2、3、4个可能值,则共有2*3*4个可能的ABC参数取值组合。
向搜索器传入参数(我觉得有意义的几个):
- estimator:估计器,是分类器。
- param_grid:字典,以待搜索的参数名为键,以其可能的取值为值。离散型字符取值、离散型数值取值、连续型整数数值取值写法分别是:
{'kernel':('linear', 'rbf')}、{'C':[1, 10]}、{'n_estimators': range(10, 101, 10)}
- cv:交叉验证的折数
- scoring:评估交叉验证模型在测试集上的性能的策略。网格搜索的目的是找到令模型表现最好的参数组合,scoring被用来评价什么样的是“最好”的。详见官方指导文档,它规范了最优模型的挑选策略。3.3. Metrics and scoring: quantifying the quality of predictions — scikit-learn 1.1.3 documentation
- n_jobs:并行任务数。主要看自己的计算设备有多少个处理器可以用,-1代表使用全部可用的处理器。
搜索器运行:fit(X,Y)
搜索器的属性:
- cv_results_:是一个字典,记录了所有参数组合的拟合情况。
- best_estimator_:返回最优模型。
-
best_score_:返回最优得分。
-
best_params_:返回最优参数组合。
-
best_index_:返回最优参数组合在cv_results_里的索引