什么是提升树?
首先要明确一点,xgboost 是基于提升树的。
什么是提升树,简单说,就是一个模型表现不好,我继续按照原来模型表现不好的那部分训练第二个模型,依次类推。来几个形象的比喻就是:
做题的时候,第一个人做一遍得到一个分数,第二个人去做第一个人做错的题目,第三个人去做第二个人做错的题目,以此类推,不停的去拟合从而可以使整张试卷分数可以得到100分(极端情况)。
把这个比喻替换到模型来说,就是真实值为100,第一个模型预测为90,差10分,第二个模型以10为目标值去训练并预测,预测值为7,差三分,第三个模型以3为目标值去训练并预测,以此类推。
什么是XGBoost?
XGBoost(eXtreme Gradient Boosting)是一种梯度提升(Gradient Boosting)算法,用于监督学习。它是由Google Brain团队开发的一种优化的分布式梯度提升框架。
XGBoost旨在解决梯度提升决策树(Gradient Boosted Decision Trees,简称GBDT)中的两个主要问题:
1) 正则化参数(如L1和L2正则化)的选择和调整;
2) 处理缺失值(missing values)。
XGBoost的主要特点如下:
1. 并行计算:XGBoost支持并行计算,可以充分利用多核处理器的能力,从而提高训练速度。
<