sklearn.model_selection.GridSearchCV
官网中的 GridSearchCV。
机器学习模型中,需要人工选择的参数称为超参数。
可以拆分为两部分,即网格搜索、交叉验证。 是一种调参手段,穷举搜索,即在所有候选的参数中,通过循环遍历每一种可能,选择最好的参数。
1. GridSearchCV 简介
的意义是自动调参,将参数输进去,给出最优化结果和参数。缺点是适用小数据集(小于 ),数据量比较大的时候,使用快速调优方法——坐标下降。它其实是一种贪心算法:拿对当前模型影响最大的参数调优,直到最优化;再拿下一个影响最大的参数调优,如此下去,直到所有的参数调整完毕。该方法的缺点是调参结果可能是局部最优不是全局最优。但是省时省力,巨大的优势面前,可以一试。
2. GridSearchCV 参数
class sklearn.model_selection.GridSearchCV(estimator, param_grid, *, scoring=None, n_jobs=None, refit=True, cv=None, verbose=0, pre_dispatch='2*n_jobs', error_score=nan, return_train_score=False)
参数:
-
estimator
:选择使用的模型,并且传入除需要确定最佳的参数外的其他参数。每个分类器都需要一个 参数,或者 方法,如:estimator = GradientBoostingRegressor()
-
param_grid
:调参的参数列表或字典。如 分类模型中:param_grid = {'loss': ['squared_error', 'absolute_error', 'huber', 'quantile'], 'n_estimators':[10, 50, 100], 'learning_rate': [0.05, 0.1, 0.15]}
这样就有 种超参数组合来进行网格搜索,选择一个拟合分数最好的超平面系数。
-
scoring=None
:模型评价标准。 表示使用 的误差估计函数。 -
n_jobs=None
:并行数。 表示默认值取 ; 表示与 核数一致。 -
refit=True
:默认 ,表示程序以交叉验证得到的最佳参数后,用最佳参数再次 一遍全部数据集。作为最终性能评估的最佳模型参数。 -
cv = None
:交叉验证参数, 表示默认值取 ,使用三折交叉验证。
3. 常用方法、属性
① grid.fit()
:运行网格搜索。
② best_params_
:获得交叉检验模型得出的最优参数。
③ best_score_
:获得交叉检验模型得出的最优得分。
④ cv_results_
:不同参数下模型的交叉检验结果。
⑤ best_estimator_
:获得交叉检验模型得出的最优模型对象。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!