机器学习算法中有两类参数:从训练集中学习到的参数,比如逻辑斯蒂回归中的权重参数,另一类是模型的超参数,也就是需要人工设定的参数,比如正则项系数或者决策树的深度。

前一节,我们使用验证曲线来提高模型的性能,实际上就是找最优参数。这一节我们学习另一种常用的超参数寻优算法:网格搜索(grid search)。

网格搜索听起来高大上,实际上简单的一笔,就是暴力搜索而已,我们事先为每个参数设定一组值,然后穷举各种参数组合,找到最好的那一组。

Python机器学习:6.4 通过网格搜索调参

GridSearchCV中param_grid参数是字典构成的列表。对于线性SVM,我们只评估参数C;对于RBF核SVM,我们评估C和gamma。

最后, 我们通过best_parmas_得到最优参数组合。

sklearn人性化的一点是,我们可以直接利用最优参数建模(best_estimator_):

Python机器学习:6.4 通过网格搜索调参

Note 网格搜索虽然不错,但是穷举过于耗时,sklearn中还实现了随机搜索,使用 RandomizedSearc

机器学习算法中有两类参数:从训练集中学习到的参数,比如逻辑斯蒂回归中的权重参数,另一类是模型的超参数,也就是需要人工设定的参数,比如正则项系数或者决策树的深度。

前一节,我们使用验证曲线来提高模型的性能,实际上就是找最优参数。这一节我们学习另一种常用的超参数寻优算法:网格搜索(grid search)。

网格搜索听起来高大上,实际上简单的一笔,就是暴力搜索而已,我们事先为每个参数设定一组值,然后穷举各种参数组合,找到最好的那一组。

GridSearchCV中param_grid参数是字典构成的列表。对于线性SVM,我们只评估参数C;对于RBF核SVM,我们评估C和gamma。

最后, 我们通过best_parmas_得到最优参数组合。

sklearn人性化的一点是,我们可以直接利用最优参数建模(best_estimator_):

Note 网格搜索虽然不错,但是穷举过于耗时,sklearn中还实现了随机搜索,使用 RandomizedSearchCV类,随机采样出不同的参数组合。

Python机器学习中文版目录(http://www.aibbt.com/a/20787.html)

转载请注明出处,Python机器学习(http://www.aibbt.com/a/pythonmachinelearning/)

posted on

2018-03-12 11:48

aibbt_com

阅读(3314)

评论(1)

编辑

收藏

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐