Получить доступ

Чем различаются XGBoost, LightGBM и CatBoost и как настраивать градиентный бустинг?

MiddleМодели машинного обучения
Ещё спрашивают так:
  • Какие гиперпараметры у градиентного бустинга самые важные?
Коротко

Все три — реализации градиентного бустинга на деревьях. XGBoost — регуляризация в функции потерь и быстрая точная реализация; LightGBM — рост деревьев по листьям и гистограммы, очень быстрый на больших данных; CatBoost (Яндекс) — встроенная работа с категориальными признаками и симметричные деревья, хорош «из коробки».

  • Главные параметры: learning rate и число деревьев (вместе), глубина или число листьев, subsample и colsample, регуляризация
  • Число деревьев подбирают ранней остановкой по валидации
  • Маленький learning rate + много деревьев = точнее, но дольше

А ещё Для категорий с высокой кардинальностью CatBoost обычно проще всего

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Общая схема настройки:

  1. Зафиксировать learning rate (0,05–0,1) и включить раннюю остановку на валидации — число деревьев подберётся само.
  2. Настроить сложность дерева: max_depth (XGBoost, CatBoost) или num_leaves (LightGBM), минимум объектов в листе.
  3. Добавить стохастичность: доля строк (subsample) и признаков (colsample_bytree) на дерево — снижает переобучение.
  4. Регуляризация: L1 и L2 на веса листьев.
  5. В конце уменьшить learning rate и увеличить число деревьев для финального прироста.

Отличия реализаций:

  • XGBoost — растит дерево по уровням, сильная регуляризация, поддержка GPU, отличная документация.
  • LightGBM — растит дерево по листьям (быстрее сходится, но легче переобучается — ограничивают num_leaves), гистограммное разбиение, очень быстрый.
  • CatBoost — ordered target statistics для категорий (без утечки целевой переменной), симметричные (oblivious) деревья — быстрый инференс, хорошие параметры по умолчанию.

Подводные камни: утечка данных в признаках, валидация без учёта времени для временных рядов, слишком большая глубина.

Что хотят услышать

  • Различия трёх библиотек.
  • Порядок настройки и ключевые параметры.
  • Ранняя остановка.

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем