每天五分钟机器学习:交叉验证超参数寻优的python实现(附代码)

本文重点

前面我们介绍了k折交叉验证的原理,本文我们进行实践,来看一下通过k折交叉验证完成超参数学习率的调节。本文我们使用xgboost来完成文本分类的任务,但是使用xgboost的时候需要指定学习率,那么此时我们就需要完成学习率的调参工作,究竟哪个学习率最合适呢?

学习率的确定

本文我们设置如下所示的学习率,那么究竟哪个学习率最合适呢?

learning_rate=[0.001,0.001,0.01,0.1,0.3,0.9]

下面我们使用交叉验证方式确定究竟哪个超参数才是最好的

首先我们先导入我们所需要的python库,如下所示:

from sklearn.model_selection import StratifiedKFold

from sklearn.model_selection import GridSearchCV

这两个库一个是k折交叉验证,一个是调参利器网格搜索,我们二者结合就可以快速找到最佳的超参数学习率

部分代码

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2)

learning_rate=[0.001,0.001,0.01,0.1,0.3,0.9]

param_grid=dict(learning_rate=learning_rate)

model=XGBClassifier()

kfold=Stratified

你可能感兴趣的:(每天五分钟玩转机器学习算法,python,开发语言,人工智能,算法,神经网络)