![]() | |
Original author(s) | Andrey Gulin:[1] /Yandex |
---|---|
Developer(s) | Yandex and CatBoost Contributors[2] |
Initial release | July 18, 2017; 7 years ago (2017-07-18)[3][4] |
Stable release | |
Written in | Python,R,C++,Java |
Operating system | Linux,macOS,Windows |
Type | Machine learning |
License | Apache License 2.0 |
Website | catboost |
CatBoost[6] is anopen-sourcesoftware library developed byYandex. It provides agradient boosting framework which, among other features, attempts to solve for categorical features using a permutation-driven alternative to the classical algorithm.[7] It works onLinux,Windows,macOS, and is available inPython,[8]R,[9] and models built using CatBoost can be used for predictions inC++,Java,[10]C#,Rust,Core ML,ONNX, andPMML. The source code is licensed underApache License and available on GitHub.[6]
InfoWorld magazine awarded the library "The best machine learning tools" in 2017.[11] along withTensorFlow,Pytorch,XGBoost and 8 other libraries.
Kaggle listed CatBoost as one of the most frequently used machine learning (ML) frameworks in the world. It was listed as the top-8 most frequently used ML framework in the 2020 survey[12] and as the top-7 most frequently used ML framework in the 2021 survey.[13]
As of April 2022, CatBoost is installed about 100000 times per day fromPyPI repository[14]
CatBoost has gained popularity compared to other gradient boosting algorithms primarily due to the following features[15]
In 2009 Andrey Gulin developedMatrixNet, a proprietary gradient boosting library that was used in Yandex to rank search results.Since 2009 MatrixNet has been used in different projects in Yandex, including recommendation systems and weather prediction.
In 2014–2015 Andrey Gulin with a team of researchers has started a new project called Tensornet that was aimed at solving the problem of "how to work withcategorical data". It resulted in several proprietary Gradient Boosting libraries with different approaches to handling categorical data.
In 2016 Machine Learning Infrastructure team led by Anna Dorogush started working on Gradient Boosting in Yandex, including Matrixnet and Tensornet. They implemented and open-sourced the next version of Gradient Boosting library called CatBoost, which has support of categorical and text data, GPU training, model analysis, visualization tools.
CatBoost was open-sourced in July 2017 and is under active development in Yandex and the open-source community.