GridSearchCV,网格搜索,可以根据特定的评价标准,对给出的模型参数寻找出最优解,是一个很方便也很强大的
这是官方文档 https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html
class 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)
参数详解:
estimator:estimator object.
分类器选择,可为Pipeline,其中分类器必须有一个score方法或者提供一个scoring参数
param_grid:dict or list of dictionaries
最优化参数的取值,字典或者列表形式
scoring:string, callable, list/tuple, dict or None, default: None
模型评价标准,
n_jobs:int or None, optional (default=None)
并行数,默认为1,填-1表示使用所有线程
iid:int, or string, optional
如果为True,则返回折叠的平均分数,并按每个测试集中的样本数加权。在这种情况下,假设数据在折叠中相同地分布,并且最小化的损失是每个样本的总损失,而不是折叠的平均损失。如果为False,则返回折叠的平均分数。
pre_dispatch : int, or string, optional:
控制在并行执行期间调度的作业数。默认None,在这种情况下,所有job都会立即创建并生成。也可制定总数量
refit:boolean, string, or callable, default=True
顾名思义就是再一次fit的过程,默认为True,使用找到的最佳参数再一次fit所以数据
cv:int, cross-validation generator or an iterable, optional
交叉验证,默认为None,即使用3折,可指定数量
verbose:integer
日志冗长度,控制详细程度,值越大,信息越多
error_score:
如果模型拟合中发生错误,则score等于给定的值
return_train_score:
默认Flase,cv_results_属性不包括训练分数,计算训练集上的分数可能在计算上是昂贵的
示例:
实战往往能更好的理解函数,具体可以看博主的另一篇数据挖掘推文,可以更深刻的理解用法 传送门