本文重点
前面我们介绍了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