XGBoost
XGBoost[1] 是一个开源软件库,它為 C++、Java、Python、[2] R、[3]和Julia[4]提供了一个梯度提升框架,适用于Linux、Windows、[5]和 mac os。[6] 根据项目的描述,它的目的在于提供一个"可擴展、可移植和分佈式梯度提升(GBM、GBRT、GBDT)庫"。 XGBoost除了可以在单一机器上运行,也支持運行在分布式框架Apache Hadoop、Apache Spark、Apache Flink。 近几年,由于這個演算法受到许多在机器学习竞赛中获奖团队的青睐,因而受到了廣泛的歡迎和關注。[7]
![]() | |
開發者 | The XGBoost Contributors |
---|---|
初始版本 | 2014年3月27日 |
穩定版本 | 0.70 (2017年12月30日 ) |
源代码库 | ![]() |
编程语言 | C++ |
操作系统 | Linux, macOS, Windows |
类型 | 机器学习 |
许可协议 | Apache License 2.0 |
网站 | xgboost |
历史
XGBoost最初是一个研究项目,由当时在Distributed (Deep) Machine Learning Community (DMLC)组里的陈天奇[8] 负责。 它开始是作为一个可由libsvm配置文件进行配置的终端应用程序。当其在Higgs机器学习挑战中获胜之后,开始在机器学习竞赛圈子中被大家熟知。 不久之后,相应的Python和R的軟件包被开发了出来。XGBoost現在也已經為Julia、Scala、Java和其他語言提供了軟件包實現。 这使得更多的开发者认识了XGBoost,也让其在 Kaggle 社区大受欢迎,并用于大量的競賽[7]。
很快地,XGBoost就与其他多个软件包一起使用,使其更易于在各自的社区中使用。 它现在已经与Python用户的scikit-learn以及与R的Caret軟件包集成在一起。它还可以使用抽象的Rabit [9]及XGBoost4J集成到像是Apache Spark、Apache Hadoop和Apache Flink等数据流框架中。[10]XGBoost也可用於FPGAs的OpenCL。[11]陈天奇和Carlos Guestrin發表了一種高效、可擴展的XGBoost實現。[12]
参考文献
- .
- . [2016-08-01].
- . [2016-08-01].
- . [2016-08-01]. (原始内容存档于2016-08-18).
- . [2016-08-01].
- . [2016-08-01].
- . [2016-08-01].
- . [2016-08-01].
- . [2016-08-01].
- . [2016-08-01].
- . [2019-08-01].
- Chen, Tianqi; Guestrin, Carlos. . Krishnapuram, Balaji; Shah, Mohak; Smola, Alexander J.; Aggarwal, Charu C.; Shen, Dou; Rastogi, Rajeev (编). . ACM: 785–794. 2016. arXiv:1603.02754. doi:10.1145/2939672.2939785.
- . [2016-08-01].
- . [2016-08-01].