XGBoost

XGBoost[2] (eXtreme Gradient Boosting) is an open-source software library which provides a regularizing gradient boosting framework for C++, Java, Python,[3] R,[4] Julia,[5] Perl,[6] and Scala.

[8] From the project description, it aims to provide a "Scalable, Portable and Distributed Gradient Boosting (GBM, GBRT, GBDT) Library".

[9][10] XGBoost gained much popularity and attention in the mid-2010s as the algorithm of choice for many winning teams of machine learning competitions.

[11] XG Boost initially started as a research project by Tianqi Chen[12] as part of the Distributed (Deep) Machine Learning Community (DMLC) group.

It became well known in the ML competition circles after its use in the winning solution of the Higgs Machine Learning Challenge.

This brought the library to more developers and contributed to its popularity among the Kaggle community, where it has been used for a large number of competitions.

[15] An efficient, scalable implementation of XGBoost has been published by Tianqi Chen and Carlos Guestrin.

Salient features of XGBoost which make it different from other gradient boosting algorithms include:[17][18][16] XGBoost works as Newton–Raphson in function space unlike gradient boosting that works as gradient descent in function space, a second order Taylor approximation is used in the loss function to make the connection to Newton–Raphson method.