美文网首页
scikit-learn 中的超参数优化(网格搜索)

scikit-learn 中的超参数优化(网格搜索)

作者: 有机会一起种地OT | 来源:发表于2020-03-04 12:47 被阅读0次
网格遍历搜索

超参数调优,最基本的就是网格搜索的方法。最常用的是网格遍历的方法,其遍历给定的参数组合,来比较模型在各参数组合下的表现。

scikit-learn.model_selection中提供了GridSerachCV,来实现网格搜索。构造网格搜索,需要指定以下元素:

  • 一个分类或回归的学习器
  • 一个需要搜索的参数空间
  • 一个交叉验证模式
  • 一个评分方法

在GridSearchCV中对应的参数为

  • estimator:要实现的学习器对象。学习器要有scoring评分方法。
  • param_grid:列表或字典表示的参数字典网格。
  • cv:指定交叉验证策略。
    1、不传参数,默认使用5层交叉验证。
    2、传入整数参数时,则为指定层数的交叉验证。
    3、或传入交叉验证方法对象。
    4、也可传入一个可迭代的由数据索引数组表示的(train,test)分割。
    不传参或整数参数的情况下,对分类器使用分层交叉验证,其他情况使用K折叠交叉验证。
  • scoring:指定评分方法
    默认使用,学习器自身的scoring方法。可以是指定字符串,自定义的可调评分方法。同时可以将多种评分方法以列表的形式传入。详细内容参见官方文档

此外还有一些参数可用于性能调优,如n_jobs、pre_dispatch可以指定并行运算的作业数量。

GridSearchCV实现了 fit 和 score 方法,学习器自身的方法,也可以通过GridSeachCV直接调用。训练后可通过best_estimator、best_score、best_params等属性获取最佳参数等信息。

网格随机搜索

除了遍历搜索,还可以进行随机搜索,sklearn.model_selection中的RandomizedSearchCV就是这样的方法。

其参数和使用方法与GridSeachCV类似,只是不对所有可能的超参数组合进行遍历。而是根据参数n_iter,生成指定个数的超参数组合,并在其上进行比较。

适用于超参数非常多,不支持穷举遍历的情况,可以结合启发式搜索方法进行参数调优。

scikit-learn中的超参数组合方法

除了遍历和随机的网格搜索方法,scikit-learn也附带提供了遍历和随机的超参数组合方法。只返回超参数组合的集合。

ParameterGrid方法生所有超参数的组合。并可以通过其他函数读取。
ParameterSampler则进行随机组合。不遍历所有超参数组合,而是采用随机采样的方式组合超参数,并生成指定n_iter个组合供迭代使用。

这两种方法只生成的超参数组合,在不用GridSeachCV或RandomizedSearchCV方法,而使用其他调优方法时可以使用。

其他优化方法

scikit-learn中还提供了一些模型特定的交叉验证方法,这些方法可以提升验证效率。
包括ElasticNetCV、LassoCV、RidgeCV、LogisticRegressionCV等等。

相关文章

  • scikit-learn 中的超参数优化(网格搜索)

    网格遍历搜索 超参数调优,最基本的就是网格搜索的方法。最常用的是网格遍历的方法,其遍历给定的参数组合,来比较模型在...

  • 机器学习day5

    超参数调优 超参数对模型至关重要。 网格搜索 网格搜索应该是最简单的超参数搜索算法。采用较大的搜索范围和较小的步长...

  • 机器学习面试题集 - 超参数调优

    超参数搜索算法一般包括哪几个要素 目标函数 搜索范围 算法的其他参数 超参数有哪些调优方法? 网格搜索 随机搜索 ...

  • 8. 模型的选择与调优

    交叉验证 网格搜索 交叉验证:为了让备评估的模型更加确信准确 *超参数搜索-网格搜索: 网格搜索:通常情况下,有很...

  • 超参数网格搜索

    在机器学习的上下文中,超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,需要对超参...

  • 4.6 网格搜索与k近邻算法中更多的超参数

    4.6网格搜索与k近邻算法中更多的超参数 关于网格搜索,sklearn为我们提供了一个方法,叫Grid Searc...

  • 用 Grid Search 对 SVM 进行调参

    上一次用了验证曲线来找最优超参数。 用验证曲线 validation curve 选择超参数 今天来看看网格搜索(...

  • 2020-08-13--KNN02

    超参数和模型参数超参数:距离的权重距离公式的选择网格搜索最佳模型数据归一化最值归一化 normalization均...

  • 神经网络和深度学习 - Chapter7 超参数调优

    超参数调优:Grid Search vs 随机搜索 神经网络中参数主要包括:学习率、优化器、batch size等...

  • 3.1.4.1网格搜索

    由于超参数的空间是无尽的,因此超参数的组合配置只能是“最优”解,没有最优解。通常情况下,我们依靠网格搜索对多种超参...

网友评论

      本文标题:scikit-learn 中的超参数优化(网格搜索)

      本文链接:https://www.haomeiwen.com/subject/vcxmlhtx.html