• sklearn.model_selection.GridSearchCV



    \(sklearn\) 官网中的 GridSearchCV

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

    \(GridSearchCV\) 可以拆分为两部分\(GridSearch、CV\),即网格搜索、交叉验证\(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\) 表示默认值取 \(1\)\(n\_jobs=-1\) 表示与 \(CPU\) 核数一致。

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

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



    3. 常用方法、属性

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

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

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

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

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



  • 相关阅读:
    Js:返回上一页
    select设置选中项/select的级联
    js闭包
    bootstrap
    My97DatePicker使用 、layDate 日期与时间组件
    IO流
    java之String工具类和File类
    Python学习之路文件file常用方法
    Python学习之路-集合set的常用方法
    Python学习之路-字典外传
  • 原文地址:https://www.cnblogs.com/keye/p/16224676.html
Copyright © 2020-2023  润新知