Чем отличаются друг от друга XGBoost, CatBoost и LightGBM?



XGBoost (eXtreme Gradient Boosting):

- Строит деревья одинаковой конкретной глубины. Построение идёт послойно, а затем отсекаются листья.

- Имеет механизмы регуляризации, чтобы предотвращать переобучение.

CatBoost:

- Специализируется на работе с категориальными данными и не требует их предварительной обработки.

- Использует симметричные деревья, что делает процесс обучения быстрее.

LightGBM (Light Gradient Boosting Machine):

- Строит деревья, ориентируясь не на уровень, а на каждый конкретный лист. Добавляет лист, если разделение по нему даёт прирост в информации.

- Использует технику называемую Gradient-based One-Side Sampling (GOSS), которая уменьшает количество данных в процессе обучения. За счёт этого возрастает скорость.

- Есть механизм Exclusive Feature Bundling (EFB), который объединяет взаимоисключающие переменные в одну. Это тоже увеличивает скорость расчёта.



Для лучшего понимания можно посмотреть лекцию