网格搜索:GridSearchCV函数参数解释及示例

it2025-05-19  42

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_属性不包括训练分数,计算训练集上的分数可能在计算上是昂贵的

示例:

实战往往能更好的理解函数,具体可以看博主的另一篇数据挖掘推文,可以更深刻的理解用法 传送门

最新回复(0)