1.机器学习常用三种调参方法:网格搜索、随机搜索和贝叶斯调参
2.网格搜索是遍历式搜索方法,效率较低,资源消耗多
3.网格搜索和随机搜索都没有考虑前面搜索的先验知识
4.贝叶斯调参的原理是贝叶斯优化,超参数作为搜索空间,效率最高
5.python的网格搜索和随机搜索是交叉验证法
机器学习模型超参数调节关系最终模型的效果,在数据量不大,超参数不多的情况下,利用网格搜索能找到最优的参数组合,该方法要搜索整个超参数空间,遇到高维空间显得很吃力,如果超参数比较多的情况下,网格搜索就要浪费相当长时间,该情况下用随机搜索有时候也是一种不错的选择。但是它们每一次搜索都是相互独立并行的,没有利用到上一次超参数组合的先验知识,而利用贝叶斯优化思想就能很好解决这样的问题,快速找到最优的超参数组合,这就是第三种调参方法:贝叶斯调参。
本文就针对python机器学习的调参模块,通过实例介绍这三种调参方法。首先介绍用到的数据集——分类问题的load_breast_cancer数据集.
该数据集一共30个自变量,569条记录
这次我们采用随机森林建立模型,预留20%作为测试集,这里仅为了介绍三种调参方法,为了方便,假设我们要调节的超参数只有三个:随机森林的子评估器数量,树的深度以及叶子节点最小样本数。
import pandas as pd
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
data1 = pd.DataFrame(load_breast_cancer(return_X_y=True)[0],columns