Я пытаюсь понять, что лучше (точнее, особенно в задачах классификации)
Я искал статьи, сравнивающие LightGBM и XGBoost, но нашел только две:
- https://medium.com/implodinggradients/benchmarking-lightgbm-how-fast-is-lightgbm-vs-xgboost-15d224568031 - что касается только скорости, но не точности.
- https://github.com/Microsoft/LightGBM/wiki/Experiment - от авторов LightGBM, и неудивительно, что LightGBM выигрывает там.
В моих тестах я получаю практически одинаковый AUC для обоих алгоритмов, но LightGBM работает от 2 до 5 раз быстрее.
Если ЛГБМ такой крутой, почему я не слышу так много об этом здесь и на Kaggle :)
Ответы:
LightGBM - отличная реализация, которая похожа на XGBoost, но отличается несколькими специфическими способами, особенно в том, как она создает деревья.
Он предлагает несколько различных параметров, но большинство из них очень похожи на их аналоги XGBoost.
Если вы используете одни и те же параметры, вы почти всегда получаете очень близкую оценку. В большинстве случаев обучение будет проходить в 2-10 раз быстрее.
Почему тогда больше людей не используют это?
XGBoost существует дольше и уже установлен на многих машинах. LightGBM довольно новый и вначале не имел оболочки Python. Текущая версия проще в установке и использовании, поэтому никаких препятствий здесь нет.
Многие из более продвинутых пользователей Kaggle и аналогичных сайтов уже используют LightGBM, и для каждого нового конкурса он получает все больше и больше освещения. Тем не менее, начальные сценарии часто основаны на XGBoost, так как люди просто повторно используют свой старый код и настраивают несколько параметров. Я уверен, что это увеличится, как только появятся еще несколько учебных пособий и руководств по их использованию (большинство руководств, не относящихся к ScikitLearn, в настоящее время посвящены XGBoost или нейронным сетям).
источник
В XGBoost теперь есть опция группировки гистограмм для роста деревьев, аналогичная той, которую использует LightGBM. Он обеспечивает примерно такой же уровень ускорения и схожие характеристики точности, хотя алгоритмы все еще не совсем одинаковы.
Здесь есть несколько графиков и таблиц, показывающих, как они сейчас находятся друг над другом. https://github.com/dmlc/xgboost/issues/1950
Справедливости ради, LightGBM приводит свои собственные тесты производительности, показывающие, что они по-прежнему вытесняют XGBoost (исторических), но уже не на порядок. https://github.com/Microsoft/LightGBM/blob/master/docs/Experiments.rst#comparison-experiment
источник