LightGBM проти XGBoost


25

Я намагаюся зрозуміти, що краще (точніше, особливо в питаннях класифікації)

Я шукав статті, порівнюючи LightGBM та XGBoost, але знайшов лише два:

  1. https://medium.com/implodinggradients/benchmarking-lightgbm-how-fast-is-lightgbm-vs-xgboost-15d224568031 - що стосується лише швидкості, але не точності.
  2. https://github.com/Microsoft/LightGBM/wiki/Experiment - що є авторами LightGBM і не дивно, що LightGBM виграє там.

У своїх тестах я отримую майже однаковий AUC для обох алгоритмів, але LightGBM працює у 2 - 5 разів швидше.

Якщо ЛГБМ настільки крутий, чому б я не почув так багато про це тут і на Kaggle :)


Дякую, але LightGBM також має пакети для R та Python, які використовуються більшістю каглер. Я використовую це з Python. За моїми даними та дослідженнями в Інтернеті LGBM здається занадто досконалим: дуже швидким і не менш точним. Але, можливо, мені чогось тут не вистачає, якщо воно ще не так широко використовується :)
Сергій Нижевясов

Відповіді:


21

LightGBM - це чудова реалізація, яка схожа на XGBoost, але відрізняється кількома конкретними способами, особливо в тому, як вона створює дерева.

Він пропонує деякі різні параметри, але більшість з них дуже схожі на аналоги XGBoost.

Якщо ви використовуєте однакові параметри, ви майже завжди отримуєте дуже близький бал. У більшості випадків, проте, навчання буде в 2-10 разів швидшим.


Чому тоді більше людей не використовують?

XGBoost вже довший і вже встановлений на багатьох машинах. LightGBM є досить новим і спочатку не мав обгортку Python. Поточну версію простіше встановити та використовувати, тому ніяких перешкод тут немає.

Багато просунутіших користувачів на Kaggle та подібних сайтах вже використовують LightGBM, і з кожним новим змаганням воно отримує все більше і більше покриттів. Тим не менш, початкові сценарії часто базуються на XGBoost, оскільки люди просто використовують старий код і коригують кілька параметрів. Я впевнений, що це збільшиться, коли з’явиться ще кілька навчальних посібників та посібників щодо його використання (більшість посібників, які не належать до ScikitLearn, зараз зосереджені на XGBoost або нейронних мережах).


Дякую, це має сенс. Можливо, для топ-каглерів обчислювальна потужність не є великою проблемою, і сценарії простіше зберігати.
Сергій Нижевясов

10

Тепер XGBoost має опцію бінінгу гістограми для росту дерев, подібну до тієї, яку використовує LightGBM. Він забезпечує приблизно однаковий рівень швидкості та схожі характеристики точності, хоча алгоритми все ще не зовсім однакові.

Тут представлені деякі сюжети та таблиці, на яких показано, як вони зараз прямо один на одного. https://github.com/dmlc/xgboost/isissue/1950

Для справедливості, LightGBM цитує власні тести на ефективність, показуючи, що вони все ще виходять з XGBoost (hist), хоча вже не на порядок. https://github.com/Microsoft/LightGBM/blob/master/docs/Experiment.rst#comppare-experiment

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.