XGBoost(极度梯度提升树,eXtreme Gradient Boosting)是基于GBDT的优化模型,其最大特性在于对GBDT的损失函数展开到二阶导数,使得其梯度提升树模型更接近其真实损失
其XGBoost分类树拟合和预测方法的基本思路为:
遍历所有的树,针对每一棵树做预测,然后对预测结果进行累加后进行Softmax,最终得到各类别预测的结果
XGBoost与GBDT实现的流程比较:
GBDT:树结点-》CART决策树(分类树/回归树)-》GBDT(基本超参数-》拟合方法-》预测方法)-》损失函数(交叉熵损失-》均方损失-》一阶导数)-》辅助函数(数据标准化-》数据划分方法-》数据打乱方法)XGBoost:树结点-》决策树(分类树/回归树)-》XGBoost(基本超参数-》增益计算-》叶子最优得分-》拟合方法-》预测方法)-》损失函数(交叉熵损失-》均方损失-》一阶导数-》二阶导数)-》辅助函数(数据标准化-》数据划分方法-》数据打乱方法)
其与GBDT相比就多了增益计算、叶子最优得分和二阶导数
以上GBDT和XGBoost涉及的超参数为树的棵树、学习率、结点分裂最小样本数、结点最小基尼不纯度、树的最大深度
XGBoost这个模型已经被封装成库,故可以直接通过pip install xgboost进行安装,在pycharm中进行使用,并且可以绘制特征重要性图,用于展示各个特征在模型中的重要性评分。其适用在广泛的工业高标准的场景。