笔记︱决策树族——梯度提升树(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