XGboost
先来举个例子,我们要预测一家人对电子游戏的喜好程度,逐一给各人在电子游戏喜好程度上打分,如下图所示。
训练出了2棵树tree1和tree2,类似之前gbdt的原理,两棵树的结论累加起来便是最终的结论
所以小孩的预测分数就是两棵树中小孩所落到的结点的分数相加:2 + 0.9 = 2.9。爷爷的预测分数同理:-1 + (-0.9)= -1.9。








XGBoost对缺失值不敏感
首先根据non-missing的原则找出split point,然后有以下3种方式
1.计算missing值在左右子树的信息增益,选择大的方向
2.可以手动指定missing的默认方向,加快算法速度
3.训练集中没有缺失值而预测集中有,自动划分到右子树
树该怎么长
枚举所有不同树结构的贪心法
选择一个feature分裂,计算loss function最小值,然后再选一个feature分裂,又得到一个loss function最小值,你枚举完,找一个效果最好的,把树给分裂,就得到了小树苗。
如何停止树的循环生成
(1)当引入的分裂带来的增益小于设定阀值的时候,我们可以忽略掉这个分裂,所以并不是每一次分裂loss function整体都会增加的,有点预剪枝的意思,阈值参数为(即正则项里叶子节点数T的系数);
(2)当树达到最大深度时则停止建立决策树,
(3)样本权重和小于设定阈值时则停止建树。大意就是一个叶子节点样本太少了
posted on 2020-09-22 14:01 happygril3 阅读(109) 评论(0) 收藏 举报
浙公网安备 33010602011771号