XGBoost – це оптимізована розподілена бібліотека підвищення градієнта, розроблена для забезпечення високої ефективності, гнучкості та портативності [Chen 2016] [DMLC] [Mitchell 2017] [XGBoost].
Це програмна бібліотека з відкритим вихідним кодом, яка забезпечує платформу підвищення градієнта для C++, Java, Python, R і Julia і працює в Linux, Windows і MAC OS.
Вона також підтримує фреймворки розподіленої обробки Apache Hadoop/Spark/Flink і DataFlow і має підтримку GPU. Бібліотека XGBoost реалізує алгоритм дерева рішень для підвищення градієнта. Останнім часом він набув великої популярності і уваги, так як був успішно застосований багатьма командами-переможцями ряду змагань ML. XGBoost реалізує алгоритми ML в рамках градієнтного бустингу. XGBoost забезпечує паралельний бустинг дерева (також відомий як GBDT або GBM), який швидко і точно вирішує багато проблем науки про дані. Такий самий код працює в основних середовищах розподіленої обробки (Hadoop, SGE, MPI) і може вирішувати проблеми з мільярдами прикладів.
Термін «підвищення градієнта» походить від ідеї посилення або поліпшення однієї слабкої моделі шляхом об’єднання її з рядом інших слабких моделей для створення колективно сильної моделі. XGBoost підвищує якість слабких моделей завдяки ітеративному навчанню.
Сильні сторони:
Висока швидкість виконання і продуктивність моделі.
Можливість розпаралелювання побудови дерева з використанням всіх ядер CPU під час тренувань.
Можливість розподілених обчислень для навчання дуже великих моделей з використанням кластера машин.
Позаядерні обчислення для дуже великих наборів даних, які не поміщаються в пам’ять.
Оптимізація кешу структур даних і алгоритмів для найкращого використання апаратного забезпечення.
Слабкі сторони:
працює виключно для табличних даних. Тому не буде працювати для розпізнавання зображень, обробки природньої мови або комп’ютерного зору.