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]

XGBoost
Тип Машинне навчання
Розробник The XGBoost Contributors
Перший випуск 27 березня 2014; 10 років тому (2014-03-27)
Стабільний випуск 1.2.1[1] (13 жовтня 2020; 3 роки тому (2020-10-13))
Операційна система 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]

Нагороди ред.

Див. також ред.

Примітки ред.

  1. Release 1.2.1· dmlc/xgboost. GitHub (англ.). Архів оригіналу за 31 січня 2022. Процитовано 8 серпня 2020.
  2. Вебсторінка проекту на GitHub. Архів оригіналу за 1 квітня 2021. Процитовано 8 травня 2018.
  3. Реєстр пакетів Python PYPI: xgboost. Архів оригіналу за 23 серпня 2017. Процитовано 1 серпня 2016.
  4. Пакет CRAN xgboost. Архів оригіналу за 26 жовтня 2018. Процитовано 1 серпня 2016.
  5. Перелік пакетів Julia з xgboost. Архів оригіналу за 18 серпня 2016. Процитовано 1 серпня 2016.
  6. CPAN module AI::XGBoost. Архів оригіналу за 28 березня 2020. Процитовано 9 лютого 2020.
  7. Installing XGBoost for Anaconda in Windows. Архів оригіналу за 8 травня 2018. Процитовано 1 серпня 2016. (англ.)
  8. Installing XGBoost on Mac OSX. Архів оригіналу за 8 травня 2018. Процитовано 1 серпня 2016. (англ.)
  9. а б XGBoost - ML winning solutions (incomplete list). Архів оригіналу за 24 серпня 2017. Процитовано 1 серпня 2016. (англ.)
  10. Story and Lessons behind the evolution of XGBoost. Архів оригіналу за 7 серпня 2016. Процитовано 1 серпня 2016. (англ.)
  11. Rabit - Reliable Allreduce and Broadcast Interface. Архів оригіналу за 11 червня 2018. Процитовано 1 серпня 2016.
  12. XGBoost4J. Архів оригіналу за 8 травня 2018. Процитовано 1 серпня 2016.
  13. XGBoost on FPGAs. Архів оригіналу за 13 вересня 2020. Процитовано 1 серпня 2019. (англ.)
  14. 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. (англ.)
  15. Gandhi, Rohith (24 травня 2019). Gradient Boosting and XGBoost. Medium (англ.). Архів оригіналу за 28 березня 2020. Процитовано 4 січня 2020. (англ.)
  16. Boosting algorithm: XGBoost. Towards Data Science (англ.). 14 травня 2017. Архів оригіналу за 6 квітня 2022. Процитовано 4 січня 2020. (англ.)
  17. Tree Boosting With XGBoost – Why Does XGBoost Win "Every" Machine Learning Competition?. Synced (амер.). 22 жовтня 2017. Архів оригіналу за 28 березня 2020. Процитовано 4 січня 2020. (англ.)
  18. John Chambers Award Previous Winners. Архів оригіналу за 31 липня 2017. Процитовано 1 серпня 2016. (англ.)
  19. HEP meets ML Award. Архів оригіналу за 8 травня 2018. Процитовано 1 серпня 2016. (англ.)