数据挖掘⼩⽩系列!XGBOOST参数超详解!参数选择,顺序,值⼀⽹打尽!
本⽂章只⽤于学习交流不⽤于任何商业⾏为,所有知识点资料来源于⽹络,如有任何不当之处请私信联系,作者会及时改正
本⽂中总结⾃⽂档所有标注的页码都是附件参考⽂档中的页码
由于markdown不⽀持附件下载,附件链接如下
1xgboost库使⽤流程 & 参数总表
=============================
四级分数查询
参数调节顺序:
0 根据情况决定
silent&booster & objective
-> 1 n_estimator & eta
2016 美国大选-> 2 max_depth OR gamma
观察模型处于什么样的状态(过拟合还是⽋拟合,处于⽅差-偏差图像的左边还是右边?)决定是否需要剪枝(对于XGB这种树模型来说⼀般都是要的)
-> 3 subsample(视情况在使⽤与否) & 三个树的剪枝参数
“colsample_bytree”
“colsample_bylevel”
“colsample_bynode”
4 alpha OR/AND lambda正则化参数(受最⼤深度和和gamma影响)
调参思路:
1. 单个参数先利⽤学习曲线确定⼤范围/交叉(XGboost.cv)验证,⼩范围组合参数使⽤⽹格搜索
PS:如果是⼤数据集就只能⼿动CV调
1. CV调节⽅式(P36)
让我们先从最原始的,设定默认参数开始,先观察⼀下默认参数下,我们的交叉验证曲线长什么样.在这⾥,我们要使⽤三组曲线。⼀组⽤于展⽰原始数据上的结果,⼀组⽤于展⽰上⼀个参数调节完毕后的结果,最后⼀组⽤于展⽰现在我们在调节的参数的结果。
2重要参数及其详细说明
mnm重要参数1:n_estimators(模型⾓度P5)
说明:
弱分类器的数量,就是建⽴多少课树
作⽤:
n_estimators越⼤,模型的学习能⼒就会越强,模型也越容易过拟合
参数推荐:
⼀般都不会建议⼀个太⼤的数⽬,300以下为佳,如果数据量是⼏⼗万甚⾄百万可以适当调⾼。
注意点:
aln1树的数量前期影响模型效果⼤,后期减⼩,并且可能因为数量过多导致效果下降或者过拟合
国际部高中是什么
重要参数2: subsample(数据⾓度P12)
说明:
控制抽样抽出来的样本量⼤概是多少(通常在样本量⼤的时候使⽤)
作⽤:
让模型更加集中于那些困难样本
参数推荐:
可借助学习曲线⼀般(0.05,1,20)确定⼤范围
注意点:
1数据量少时不推荐使⽤
重要参数3: eta(评估器⾓度P14)
说明:
迭代决策树时的步长(shrinkage),⼜叫做学习率(learning rate)。
作⽤:
越⼤,迭代的速度越快,算法的极限很快被达到,有可能⽆法收敛到真正的最佳。
越⼩,越有可能找到更精确的最佳值,更多的空间被留给了后⾯建⽴的树,但迭代速度会⽐较缓慢。参数推荐:
⼀般和n_estimators交互,使⽤⽹格交搜索来同时确定两者参数值,⼀般在0.01~0.2之间
注意点:
1从评估器⾓度出发,新建的评估器⼀定是要⽐之前的好,是当前最优.
重要参数4:booster(评估器⾓度P17)
说明:
booster"来控制我们究竟使⽤怎样的弱评估器。
嘱咐作⽤:
不同情况下不同的弱评估器的选择对最后模型的效果影响很⼤。
参数推荐:
gtree:默认
gnlinear:⼀般数据成线性关系时候使⽤
dart:⽐梯度提升树有更好的防过拟合功能
注意点:
1数据量不⼤时:gbtree和dart效果是相似的。
重要参数5:objective(损失函数⾓度P18)
说明:
objective 来控制我们究竟使⽤怎样的损失函数
作⽤:
不同情况下不同的损失函数对最后模型的效果影响很⼤。
参数推荐:
jcpenney
更多详见:
注意点:
1分类型的⽬标函数导⼊回归类中会直接报错。
重要参数7:gamma(树结构⾓度P31)
说明:
被称为“复杂性控制”(complexity
control),是Gain中的惩罚项,增加的叶⼦越多,结构分之差Gain会被惩罚越重在树的叶节点上进⾏进⼀步分枝所需的最⼩⽬标函数减少量,是⽤来防⽌过拟合的重要参数。对梯度提升树影响最⼤的参数之⼀。
adverbs作⽤:
设定越⼤,算法就越保守,树的叶⼦数量就越少,模型的复杂度就越低。
参数推荐:
⼀般学习曲线,具体需要⾃⼰试,如果学习曲线⽆法看出的话,就⽤xgboost.cv。
注意点:
1学习曲线运⾏速度较缓慢并且曲线的效果匪夷所思,推荐使⽤xgboost.cv。
重要剪枝参数:max_depth & colsample_bytree(树结构⾓度P35)
说明:
剪枝参数。
作⽤:
控制过拟合。
参数推荐:
⼀般使⽤max_depth & colsample_bytree & colsample_ bilevel
注意点:
1最⼤深度的功能与参数gamma相似,因此如果先调节了
2010考研英语一答案,则最⼤深度可能⽆法展⽰出巨⼤的效果。当然,如果先调整了最⼤深度,则也有可能⽆法显⽰明显的效果。通常来说,这两个参数中我们只使⽤⼀个,不过两个都试试也没有坏处。
2学习曲线运⾏速度较缓慢并且曲线的效果匪夷所思,推荐使⽤xgboost.cv
3其他参数及其详细说明
正则化参数alpha,lambda(P23)
说明:
都是控制正则化强度的参数。
作⽤:
平安夜英语怎么说我们可以⼆选⼀使⽤,也可以⼀起使⽤加⼤正则化的⼒度。当alpha和lambda都为0的时候,⽬标函数就是普通的梯度提升树的⽬标函数。
参数推荐:
⼀般先⽤L2,效果还不好再加上L1,配合⽹格搜索。