[机器学习] XGBoost和传统GBDT的区别

XGBoost是GBDT的一种高效实现,它引入了二阶泰勒展开损失函数、自定义可导损失函数、更多正则项、缺失值处理、列抽样和多种树构建方法等优化。相比传统GBDT,XGBoost允许处理缺失值,支持列抽样以减少过拟合,并提供更高效的树构建策略,如直方图方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

XGBoost(eXtreme Gradient Boosting)是GBDT方法的一种高效、灵活、便携的工程化实现。

注意,XGBoost不是一种算法的名称,而是同属于GBDT框架下,一种Boosting的思想。另外,随着代码版本的迭代,很多新特性也被借鉴进来,比如LightGBM中的直方图方法,在2017年就被加入到了XGBoost中。

相比传统的GBDT实现,XGBoost(以版本1.4.2为例)区别有以下几点:

1、XGBoost损失函数使用二阶泰勒展开作为近似。

2、支持自定义损失函数,需要函数一阶和二阶可导。

3、加入了更多的正则项,比如除了叶子节点权重的 L2 范式,还有树的叶子节点个数。

4、缺失值处理。

5、列抽样。

6、更多的树方法(Tree Method),传统的GBDT在选择树的分割点时,通常是遍历每个特征的每种取值,XGBoost支持更多的树方法,除了传统GBDT的精确(exact)方法,还增加了近似(approx)和直方图(hist)方法。

下面详细说说这些区别。

缺失值处理

在scikit-learn 0.24.2本身实现的GBDT,如果特征存在缺失值,模型训练时会报错。

列抽样

XGBoost是一个开源的机器学习项目,它是陈天奇等人开发的,能够高效地实现梯度提升决策树算法,并在算法工程方面进行了许多改进。XGBoost在Kaggle竞赛其他机器学习竞赛中广泛应用,并取得了不错的成绩。它全名为极端梯度提升(eXtreme Gradient Boosting),是目前最快最好的开源boosted tree工具包之一。 XGBoost使用的算法是改进的梯度提升决策树(GBDT)。与传统GBDT相比,XGBoost通过对目标函数进行二阶泰勒展开,求出下一步要拟合的树的叶子节点权重,从而根据损失函数的减小情况选择合适的属性进行分裂。这种改进使得XGBoost在训练效率预测准确性方面表现出色。 对于机器学习中的XGBoost回归问题,它使用集成学习方法来构建预测模型。预测模型可以表示为XGBoost的形式,其中包含了多个弱分类器的组合。这些弱分类器通过迭代的方式不断优化,使得整个预测模型的性能得到提升。 总之,XGBoost是一个强大的机器学习工具,既可以用于分类问题,也可以用于回归问题。其采用了改进的梯度提升决策树算法,具有高效、准确的特点,并在许多机器学习竞赛中取得了优秀的成绩。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [机器学习算法(十五):XGBoost](https://blog.csdn.net/weixin_39910711/article/details/121210569)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

手撕机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值