导入
简介
XGBoost与梯度提升决策树简介
在本章中,你将学习 XGBoost,这是一个用于高效实现梯度提升决策树的库。它是数据科学中用于分类和回归任务的主流工具之一。
A. XGBoost 与 scikit-learn 的对比
在前面三章中,我们使用 scikit-learn 完成了多种与数据相关的任务。在本章中,我们将介绍 XGBoost,这是一款用于执行分类和回归任务的前沿数据科学库。XGBoost 采用梯度提升决策树技术,其性能优于普通的决策树。
除了性能优势外,XGBoost 实现了极为高效的梯度提升树算法。相比 scikit-learn 中的模型,XGBoost 模型训练速度更快,同时仍保持了同样简便的使用体验。
在使用中小规模数据集的数据科学和机器学习竞赛(例如 Kaggle)中,XGBoost 始终是表现最出色的模型之一。
B. 梯度提升树
普通决策树的问题在于,它们通常复杂度不足,难以捕捉大型数据集中的复杂模式。虽然我们可以不断增大决策树的最大深度以适应更大的数据集,但节点过多的决策树容易出现过拟合现象。
为此,我们采用梯度提升方法,将多个决策树“组合”成一个用于分类或回归的统一模型。梯度提升从一棵决策树开始,然后迭代地添加新的决策树,逐步修正模型在训练数据上的预测误差。
XGBoost 的 API 为我们自动处理了梯度提升的过程,最终得到的模型性能远优于单棵决策树。