sklearn.model_selection.GridSearchCV


sklearn 官网中的 GridSearchCV

机器学习模型中,需要人工选择的参数称为超参数

GridSearchCV 可以拆分为两部分GridSearchCV,即网格搜索、交叉验证GridSearch 是一种调参手段,穷举搜索,即在所有候选的参数中,通过循环遍历每一种可能,选择最好的参数。



1. GridSearchCV 简介

GridSearchCV 的意义是自动调参,将参数输进去,给出最优化结果和参数。缺点是适用小数据集(小于 10000),数据量比较大的时候,使用快速调优方法——坐标下降。它其实是一种贪心算法:拿对当前模型影响最大的参数调优,直到最优化;再拿下一个影响最大的参数调优,如此下去,直到所有的参数调整完毕。该方法的缺点是调参结果可能是局部最优不是全局最优。但是省时省力,巨大的优势面前,可以一试。



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选择使用的模型,并且传入除需要确定最佳的参数外的其他参数。每个分类器都需要一个 scoring 参数,或者 score 方法,如:estimator = GradientBoostingRegressor()

  • param_grid调参的参数列表或字典。GradientBoostingRegressor() 分类模型中:

    param_grid = {'loss': ['squared_error', 'absolute_error', 'huber', 'quantile'], 
                  'n_estimators':[10, 50, 100], 
                  'learning_rate': [0.05, 0.1, 0.15]}
    

    这样就有 36 种超参数组合来进行网格搜索,选择一个拟合分数最好的超平面系数。

  • scoring=None模型评价标准scoring=None 表示使用 estimator 的误差估计函数。

  • n_jobs=None并行数。n_jobs=None 表示默认值取 1n_jobs=1 表示与 CPU 核数一致。

  • refit=True:默认 True,表示程序以交叉验证得到的最佳参数后,用最佳参数再次 fit 一遍全部数据集。作为最终性能评估的最佳模型参数。

  • cv = None交叉验证参数cv=None 表示默认值取 3,使用三折交叉验证。



3. 常用方法、属性

grid.fit():运行网格搜索。

best_params_:获得交叉检验模型得出的最优参数

best_score_:获得交叉检验模型得出的最优得分

cv_results_:不同参数下模型的交叉检验结果

best_estimator_:获得交叉检验模型得出的最优模型对象



posted @   做梦当财神  阅读(249)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示