笔记︱决策树族——梯度提升树(GBDT)

本笔记来源于CDA DSC,L2-R语言课程所学进行的总结。

 

 

一、介绍:梯度提升树(Gradient Boost Decision Tree)


Boosting算法和树模型的结合。按次序建立多棵树,每棵树都是为了减少上一次的残差(residual),每个新的模型的建立都是为了使之前模型的残差往梯度方向减少。最后将当前得到的决策树与之前的那些决策树合并起来进行预测。


相比随机森林有更多的参数需要调整。

 

————————————————————————————————————————————————————————————

 

 

二、随机森林与梯度提升树(GBDT)区别

 

随机森林:决策树+bagging=随机森林

梯度提升树:决策树Boosting=GBDT

两者区别在于bagging boosting之间的区别,可见:

 

 

bagging

boosting

取样方式

bagging采用均匀取样

boosting根据错误率来采样

精度、准确性

相比之,较低

训练集选择

随机的,各轮训练集之前互相独立

各轮训练集的选择与前面各轮的学习结果相关

预测函数权重

各个预测函数没有权重

boost有权重

函数生成顺序

并行生成

顺序生成

应用

象神经网络这样极为消耗时间的算法,bagging可通过并行节省大量的时间开销

baging和boosting都可以有效地提高分类的准确性

baging和boosting都可以有效地提高分类的准确性

一些模型中会造成模型的退化(过拟合)

boosting思想的一种改进型adaboost方法在邮件过滤,文本分类中有很好的性能

 

随机森林

梯度提升树

 

————————————————————————————————————————————————————————————
 
 
三、R中与决策树有关的Package


单棵决策树:rpart/tree/C50
随机森林:randomforest/ranger
梯度提升树:gbm/xgboost
树的可视化:rpart.plot