XGBoost是一个开源软件库,为C++、Java、Python、R、和Julia提供了一个梯度提升框架,适用于Linux、Windows、以及macOS。根据项目的描述,它的目的在于提供一个"可扩展、可移植和分布式梯度提升(GBM、GBRT、GBDT)库"。XGBoost除了可以在单机上运行,也支持运行在分布式框架如Apache Hadoop、Apache Spark和Apache Flink上。近几年,由于该算法受到许多在机器学习竞赛中获奖团队的青睐,因而受到了广泛的欢迎和关注。
历史
XGBoost最初是一个研究项目,由当时在Distributed (Deep) Machine Learning Community (DMLC) 组里的陈天奇负责。它最初作为一个可以由libsvm配置文件进行配置的终端应用程序。在Higgs机器学习挑战中取得胜利后,它开始在机器学习竞赛圈子中被广为人知。不久之后,相应的Python和R的软件包被开发了出来。XGBoost现在也已经为Julia、Scala、Java和其他语言提供了软件包实现。这使得更多的开发者了解了XGBoost,并且让其在Kaggle社区备受欢迎,被广泛用于大量的竞赛及XGBoost4J集成到诸如Apache Spark、Apache Hadoop和Apache Flink等数据流框架中。XGBoost也可用于FPGAs的OpenCL。陈天奇和Carlos Guestrin发表了一种高效、可扩展的XGBoost实现。
获奖
- 约翰钱伯斯奖(2016)
- 高能物理学会议机器学习奖(HEP meets ML) (2016)
参考文献
评论 (0)