Software:xgboost

From HandWiki

XGBoost
Developer(s)The XGBoost Contributors
Initial releaseMarch 27, 2014; 10 years ago (2014-03-27)
Stable release
0.70 / December 30, 2017 (2017-12-30)
Written inC++
Operating systemLinux, macOS, Windows
TypeMachine learning
LicenseApache License 2.0
Websitexgboost.ai

XGBoost[1] is an open-source software library which provides a gradient boosting framework for C++, Java, Python,[2] R,[3] and Julia.[4] It works on Linux, Windows,[5] and macOS.[6] From the project description, it aims to provide a "Scalable, Portable and Distributed Gradient Boosting (GBM, GBRT, GBDT) Library". Other than running on a single machine, it also supports the distributed processing frameworks Apache Hadoop, Apache Spark, and Apache Flink. It has gained much popularity and attention recently as it was the algorithm of choice for many winning teams of a number of machine learning competitions.[7]

History

XGBoost initially started as a research project by Tianqi Chen[8] as part of the Distributed (Deep) Machine Learning Community (DMLC) group. Initially, it began as a terminal application which could be configured using a libsvm configuration file. After winning the Higgs Machine Learning Challenge, it became well known in the ML competition circles. Soon after, the Python and R packages were built and now it has packages for many other languages like Julia, Scala, Java, etc. This brought the library to more developers and became popular among the Kaggle community where it has been used for a large number of competitions.[7]

It soon became used with multiple other packages making it easier to use in the respective communities. It now has integrations with scikit-learn for Python users, and also with the caret package for R users. It can also be integrated into Data Flow frameworks like Apache Spark, Apache Hadoop, and Apache Flink using the abstracted Rabit[9] and XGBoost4J.[10] The working of XGBoost has also been published by Tianqi Chen and Carlos Guestrin.[11]

Awards

  • John Chambers Award (2016)[12]
  • High Energy Physics meets Machine Learning award (HEP meets ML) (2016)[13]

References

  1. "GitHub project webpage". https://github.com/dmlc/xgboost. 
  2. "Python Package Index PYPI: xgboost". https://pypi.python.org/pypi/xgboost/. 
  3. "CRAN package xgboost". https://cran.r-project.org/web/packages/xgboost/index.html. 
  4. "Julia package listing xgboost". http://pkg.julialang.org/?pkg=XGBoost#XGBoost. 
  5. "Installing XGBoost for Anaconda in Windows". https://www.ibm.com/developerworks/community/blogs/jfp/entry/Installing_XGBoost_For_Anaconda_on_Windows?lang=en. Retrieved 2016-08-01. 
  6. "Installing XGBoost on Mac OSX". https://www.ibm.com/developerworks/community/blogs/jfp/entry/Installing_XGBoost_on_Mac_OSX?lang=en. Retrieved 2016-08-01. 
  7. 7.0 7.1 "XGBoost - ML winning solutions (incomplete list)". https://github.com/dmlc/xgboost/tree/master/demo#machine-learning-challenge-winning-solutions. 
  8. "Story and Lessons behind the evolution of XGBoost". http://homes.cs.washington.edu/~tqchen/2016/03/10/story-and-lessons-behind-the-evolution-of-xgboost.html. 
  9. "Rabit - Reliable Allreduce and Broadcast Interface". https://github.com/dmlc/rabit. 
  10. "XGBoost4J". https://xgboost.readthedocs.io/en/latest/jvm/index.html. 
  11. Chen, Tianqi; Guestrin, Carlos (2016). "Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, San Francisco, CA, USA, August 13-17, 2016". in Krishnapuram, Balaji; Shah, Mohak; Smola, Alexander J. et al.. ACM. pp. 785–794. doi:10.1145/2939672.2939785. 
  12. "John Chambers Award Previous Winners". http://stat-computing.org/awards/jmc/winners.html. 
  13. "HEP meets ML Award". https://higgsml.lal.in2p3.fr/prizes-and-award/award/.