XGBoost资料汇总,以及它背后的故事

1 引言

近来,群中有几个小伙伴想要公号推送XGBoost的相关内容,去年我在学习XGBoost时写过几篇笔记(恕我当时理解的浅显):

2 XGBoost被应用广泛的原因

XGBoost能如此流行与Kaggle比赛密不可分,获奖的选手大都喜欢用它来预测分类,并且取得非常不错的效果,这直接推动了XGBoost的迅速传播。

其实,更重要的背后原因是XGBoost是一个可以并行算法,这点好处巨大,这意味着它能并行处理大规模数据集上,高效省时地获取到模型结果,所以它在工业界也被广泛部署在各大公司的大数据平台上。

3 XGBoost背后的故事

XGBoost在机器学习领域如此流行和强大,大家都或许都已经了解了,它是华盛顿大学的博士陈天奇发明的。我一直很好奇,陈天奇是怎么想到的然后创造了这么好的一个分类器呢?

有一篇对陈天奇的采访,他自己说当时在用各种现有的分类器,包括梯度提升树框架效率太低了,因为SVDFeature里的模型都是单线程,于是他决定自己写一个基于决策树的提升算法。

在这之前,他在快从交大毕业时做的一个项目里接触到了 OpenMP,里面使用多线程写的,于是他就想能不能利用OpenMP写一个多线程的 GBDT(Gradient Boosting Decision Trees)帮助我做研究,并把这个工具起名 extreme gradient boosting.

陈天奇比较喜欢把一件事情推到极限,在当初开发 SVDFeature 时他利用 2G 内存训练一个机器学习模型一样。在14年他刚到华盛顿大学,就开始利用业余实践他的想法,并在寒假做XGBoost的第一版。做了一些对比后,发现效率挺高的,然后就发布了出来了。

注:陈天奇虽然在读博士,可能偏重学术,但同时他又特别注重算法的工业应用价值,编程能力通过他做的项目能看出应该非常强,可谓算法和编码能力俱佳。近来,他又发布了TVM栈,它是一个端到端的深度学习编译栈。

https://tvm.ai/

4 XGBoost资料

XGBoost因为适合在大规模数据集上高效地获取到训练模型,因此,依然被工业界广泛应用。为了更原生地学习XGBoost,无疑最好的资料出自作者,下面给出一些系统学习XGBoost的资料:

1) 陈天奇的官方网站:

https://homes.cs.washington.edu/~tqchen

2) XGBoost的Github地址, 至今仍有人在维护更新:

https://github.com/dmlc/xgboost

3)XGBoost详细使用的Github地址:

https://github.com/dmlc/xgboost/blob/master/demo/README.md

里面涵盖了精彩的XGBoost介绍,Demo, Kaggle实战案列

4)XGBoost的详细安装过程,算法参数介绍:http://xgboost.readthedocs.io/en/latest/

Python与机器学习算法频道

欢迎点赞和转发

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180726G02K8X00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券