XGBoost (від , екстремальне градієнтне підсилювання) — це програмна бібліотека з відкритим кодом, яка пропонує систему градієнтного підсилювання для C++, Java, Python, R, Julia, Perl, та Scala. Вона працює під Linux, Windows та macOS. З опису її проекту, вона має на меті забезпечити «Масштабовану Портативну та Розподілену Бібліотеку Градієнтного Підсилювання (GBM, GBRT, GBDT)». Вона працює як на одній машині, так і підтримує системи розподіленої обробки Apache Hadoop, Apache Spark та . Вона нещодавно набула великої популярності та уваги як вибір алгоритму багатьох команд-переможниць змагань з машинного навчання.
Історія XGBoost первинно було розпочато як дослідницький проект Тенці Чжена () у складі групи Спільноти Розподіленого (Глибинного) Машинного Навчання (). Первинно вона почалася як консольна програма, яку могло бути налаштовано за допомогою файлу налаштування libsvm. Вона стала добре відомою в колах змагань з машинного навчання через її застосування в переможному рішенні в Higgs Machine Learning Challenge. Незабаром після цього було побудовано пакети Python та R, а тепер XGBoost має пакетні втілення і для Java, Scala, Julia, Perl та інших мов. Це донесло дану бібліотеку до більшої кількості розробників, і посприяло її популярності серед спільноти Kaggle, де її було використано для великої кількості змагань.
Незабаром її було інтегровано з рядом інших пакетів, що полегшило її використання у їхніх відповідних спільнотах. Її тепер вже інтегровано зі scikit-learn для користувачів Python та з пакетом caret для користувачів R. Її також можливо вбудовувати до таких систем потокової обробки даних як Apache Spark, Apache Hadoop та за допомогою абстрагованих Rabit та XGBoost4J. XGBoost є також доступною в OpenCL для ПКВМ. Ефективне, масштабоване втілення XGBoost було опубліковано Тенці Чженом та Карлосом Ґестріном.
Властивості
До важливих властивостей XGBoost, які відрізняють її від інших алгоритмів підсилювання градієнту, належать:
Розумне штрафування дерев Пропорційне скорочування листових вузлів Ньютонове підсилювання Додатковий параметр рандомізації Втілення на окремих, розподілених системах, та обчисленнях.
Нагороди Премія (2016) Премія High Energy Physics meets Machine Learning (HEP meets ML) (2016)
Див. також Градієнтний бустинг
Примітки