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)    收藏  举报

导航