本笔记来源于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
|