XGBoost
XGBoost[2] (від англ. eXtreme Gradient Boosting, екстремальне градієнтне підсилювання) — це програмна бібліотека з відкритим кодом, яка пропонує систему градієнтного підсилювання[en] для C++, Java, Python,[3] R,[4] Julia,[5] Perl,[6] та Scala. Вона працює під Linux, Windows[7] та macOS.[8] З опису її проекту, вона має на меті забезпечити «Масштабовану Портативну та Розподілену Бібліотеку Градієнтного Підсилювання (GBM, GBRT, GBDT)». Вона працює як на одній машині, так і підтримує системи розподіленої обробки Apache Hadoop, Apache Spark та Apache Flink[en]. Вона нещодавно набула великої популярності та уваги як вибір алгоритму багатьох команд-переможниць змагань з машинного навчання.[9]
Тип | Машинне навчання |
---|---|
Розробник | The XGBoost Contributors |
Перший випуск | 27 березня 2014 |
Стабільний випуск | 1.2.1[1] (13 жовтня 2020 ) |
Операційна система | Linux, macOS, Windows |
Мова програмування | C++ |
Ліцензія | Apache License 2.0 |
Репозиторій | github.com/dmlc/xgboost |
Вебсайт | xgboost.ai |
Історія
ред.XGBoost первинно було розпочато як дослідницький проект Тенці Чжена (англ. Tianqi Chen)[10] у складі групи Спільноти Розподіленого (Глибинного) Машинного Навчання (англ. Distributed [Deep] Machine Learning Community, DMLC). Первинно вона почалася як консольна програма, яку могло бути налаштовано за допомогою файлу налаштування libsvm. Вона стала добре відомою в колах змагань з машинного навчання через її застосування в переможному рішенні в Higgs Machine Learning Challenge. Незабаром після цього було побудовано пакети Python та R, а тепер XGBoost має пакетні втілення і для Java, Scala, Julia, Perl та інших мов. Це донесло дану бібліотеку до більшої кількості розробників, і посприяло її популярності серед спільноти Kaggle, де її було використано для великої кількості змагань.[9]
Незабаром її було інтегровано з рядом інших пакетів, що полегшило її використання у їхніх відповідних спільнотах. Її тепер вже інтегровано зі scikit-learn для користувачів Python та з пакетом caret [Архівовано 26 січня 2021 у Wayback Machine.] для користувачів R. Її також можливо вбудовувати до таких систем потокової обробки даних як Apache Spark, Apache Hadoop та Apache Flink[en] за допомогою абстрагованих Rabit[11] та XGBoost4J.[12] XGBoost є також доступною в OpenCL для ПКВМ.[13] Ефективне, масштабоване втілення XGBoost було опубліковано Тенці Чженом та Карлосом Ґестріном.[14]
Властивості
ред.До важливих властивостей XGBoost, які відрізняють її від інших алгоритмів підсилювання градієнту, належать:[15][16][17]
- Розумне штрафування дерев
- Пропорційне скорочування листових вузлів
- Ньютонове підсилювання
- Додатковий параметр рандомізації
- Втілення на окремих, розподілених системах, та позаядрових[en] обчисленнях.
Нагороди
ред.- Премія Джона Чемберса[en] (2016)[18]
- Премія High Energy Physics meets Machine Learning (HEP meets ML) (2016)[19]
Див. також
ред.Примітки
ред.- ↑ Release 1.2.1· dmlc/xgboost. GitHub (англ.). Архів оригіналу за 31 січня 2022. Процитовано 8 серпня 2020.
- ↑ Вебсторінка проекту на GitHub. Архів оригіналу за 1 квітня 2021. Процитовано 8 травня 2018.
- ↑ Реєстр пакетів Python PYPI: xgboost. Архів оригіналу за 23 серпня 2017. Процитовано 1 серпня 2016.
- ↑ Пакет CRAN xgboost. Архів оригіналу за 26 жовтня 2018. Процитовано 1 серпня 2016.
- ↑ Перелік пакетів Julia з xgboost. Архів оригіналу за 18 серпня 2016. Процитовано 1 серпня 2016.
- ↑ CPAN module AI::XGBoost. Архів оригіналу за 28 березня 2020. Процитовано 9 лютого 2020.
- ↑ Installing XGBoost for Anaconda in Windows. Архів оригіналу за 8 травня 2018. Процитовано 1 серпня 2016. (англ.)
- ↑ Installing XGBoost on Mac OSX. Архів оригіналу за 8 травня 2018. Процитовано 1 серпня 2016. (англ.)
- ↑ а б XGBoost - ML winning solutions (incomplete list). Архів оригіналу за 24 серпня 2017. Процитовано 1 серпня 2016. (англ.)
- ↑ Story and Lessons behind the evolution of XGBoost. Архів оригіналу за 7 серпня 2016. Процитовано 1 серпня 2016. [Архівовано 2022-03-07 у Wayback Machine.] (англ.)
- ↑ Rabit - Reliable Allreduce and Broadcast Interface. Архів оригіналу за 11 червня 2018. Процитовано 1 серпня 2016.
- ↑ XGBoost4J. Архів оригіналу за 8 травня 2018. Процитовано 1 серпня 2016.
- ↑ XGBoost on FPGAs. Архів оригіналу за 13 вересня 2020. Процитовано 1 серпня 2019. (англ.)
- ↑ Chen, Tianqi; Guestrin, Carlos (2016). XGBoost: A Scalable Tree Boosting System. У Krishnapuram, Balaji; Shah, Mohak; Smola, Alexander J.; Aggarwal, Charu C.; Shen, Dou; Rastogi, Rajeev (ред.). Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, San Francisco, CA, USA, August 13-17, 2016. ACM. с. 785—794. arXiv:1603.02754. doi:10.1145/2939672.2939785. (англ.)
- ↑ Gandhi, Rohith (24 травня 2019). Gradient Boosting and XGBoost. Medium (англ.). Архів оригіналу за 28 березня 2020. Процитовано 4 січня 2020. (англ.)
- ↑ Boosting algorithm: XGBoost. Towards Data Science (англ.). 14 травня 2017. Архів оригіналу за 6 квітня 2022. Процитовано 4 січня 2020. [Архівовано 2022-04-06 у Wayback Machine.] (англ.)
- ↑ Tree Boosting With XGBoost – Why Does XGBoost Win "Every" Machine Learning Competition?. Synced (амер.). 22 жовтня 2017. Архів оригіналу за 28 березня 2020. Процитовано 4 січня 2020. (англ.)
- ↑ John Chambers Award Previous Winners. Архів оригіналу за 31 липня 2017. Процитовано 1 серпня 2016. (англ.)
- ↑ HEP meets ML Award. Архів оригіналу за 8 травня 2018. Процитовано 1 серпня 2016. (англ.)
Це незавершена стаття зі штучного інтелекту. Ви можете допомогти проєкту, виправивши або дописавши її. |