4.subsample 和 colsample_bytree
前言
集成模型Boosting补完计划第三期了,之前我们已经详细描述了AdaBoost算法模型和GBDT原理以及实践。通过这两类算法就可以明白Boosting算法的核心思想以及基本的运行计算框架,余下几种Boosting算法都是在前者的算法之上改良得到,尤其是以GBDT算法为基础改进衍生出的三种Boosting算法:XGBoost、LightGBM、CatBoost。大家应该都对XGBoost算法模型熟悉但是对GBDT模型一无所知,看过之前GBDT的读者应该对GBDT模型有了一个很清楚的认知,对于理解XGBoost算法有一定的基础。
XGBoost在各种数据挖掘、预测和分类任务中取得了极高的准确率和性能。是目前应用最广泛的机器学习算法之一。可以说,XGBoost的快速发展和广泛应用,推动了机器学习算法的进一步发展和优化,为人工智能技术的普及和应用打下了坚实的基础。那么此篇文章我将尽力让大家了解并熟悉XGBoost模型算法框架,保证能够理解通畅以及推演顺利的条件之下,尽量不使用过多的数学公式和专业理论知识。以一篇文章快速了解并实现该算法,以效率最高的方式熟练使用此方法。
博主专注建模四年,参与过大大小小数十来次数学建模,理解各类模型原理以及每种模型的建模流程和各类题目分析方法。此专栏的目的就是为了让零基础快速使用各类数学模型以及代码,每一篇文章都包含实战项目以及可运行代码。博主紧跟各类数模比赛,每场数模竞赛博主都会将最新的思路和代码写进此专栏以及详细思路和完全代码。希望有需求的小伙伴不要错过笔者精心打造的专栏。
以下是整篇文章内容。
一、XGBoost模型概述
1.发展历史
- 2014年:XGBoost由陈天奇在《XGBoost: A Scalable Tree Boosting System》一文中首次提出。
- 2015年:XGBoost在Kaggle竞赛中大放异彩,成为数据科学家和机器学习工程师的首选算法之一。
- 2016年:XGBoost发布了C++和Python两个版本,支持更多的特征工程和模型调优功能,极大地提高了算法的效率和可扩展性。
- 2017年:XGBoost获得了KDD Cup 2017竞赛中的多个奖项,并且成为Spark MLlib中的重要组件。
- 2018年:XGBoost在Microsoft Azure ML Studio中被引入,成为Azure Machine Learning的核心组件之一。
- 2019年:XGBoost发布了GPU版本,可以在GPU上加速模型训练和预测,大大提高了算法的计算速度。
- 2020年:XGBoost被应用在各种领域,如金融、医疗、自然语言处理和图像识别等,成为机器学习领域的一个重要里程碑。
这里通过简述的发展史可以得到我们可以通过python调用此算法,而且也可以通过调用GPU提高了算法的计算速度。由此可见XGBoost算法的受欢迎程度。
2.算法改进之处
XGBoost是一种基于梯度提升决策树(Gradient Boosting Decision Tree,GBDT)的机器学习算法,旨在优化和加速GBDT的训练过程,并提高模型的准确性和泛化能力。
我们拿这个XGBoost与其他GBDT的算法进行对比:
算法差异点 | GBDT | XGBoost | LightGBM | CatBoost |
弱学习器 | CART回归树 | 1.CART回归树 2.线性学习器 3.Dart树 | Leaf-wise树 | 对称树 |
寻找分裂点 | 贪心算法 | 近似算法 | 直方图算法 | 预排序算法 |
稀疏值处理 | 无 | 稀疏感知算法 | EFB(互斥特征捆绑) | 无 |
类别特征< |