Если вы уже познакомились с градиентным бустингом и хотите применить его в реальных проектах, рано или поздно встаёт вопрос: какую библиотеку выбрать? Три главных инструмента — XGBoost, LightGBM и CatBoost. Каждый мощный, но со своими особенностями. Разберём по делу, без перегруза.
Коротко. CatBoost — библиотека градиентного бустинга от Яндекса, которая нативно работает с категориальными признаками и строит симметричные деревья. Среди трёх выбирайте CatBoost для табличных данных с категориями и быстрого старта без тюнинга, LightGBM — когда нужны скорость и миллионы строк, а XGBoost — когда важен полный контроль и проверенное годами решение.
Простым языком мы показываем, как сделать своего первого полноценного AI-ассистента. Бесплатно!
Что это вообще за звери?
XGBoost — дедушка современных библиотек бустинга. Появился одним из первых, быстро стал популярным благодаря победам в соревнованиях по машинному обучению и заслужил репутацию надёжного инструмента. Он гибкий, мощный и отлично работает на большинстве задач, особенно если вы умеете его настраивать. Деревья растит по уровням (level-wise): сначала разбивает все узлы одного уровня, потом переходит на следующий.
LightGBM — разработка Microsoft с акцентом на скорость. Работает быстрее XGBoost почти во всех сценариях, особенно на больших данных. Использует рост деревьев «по листьям» (leaf-wise): на каждом шаге делит тот лист, который сильнее всего уменьшает ошибку. Плюс два фирменных ускорителя — GOSS (отбор объектов с большими градиентами) и EFB (склейка разреженных признаков в один).
CatBoost — библиотека Яндекса. Её главная фишка — умная встроенная работа с категориальными признаками. Там, где другие требуют ручной кодировки категорий, CatBoost справляется сам через упорядоченные целевые статистики (ordered target statistics). Второй козырь — симметричные (oblivious) деревья: на каждом уровне используется один и тот же признак и порог, что даёт стабильность и быстрый инференс.


- ПОКАЖЕМ, КАК РАЗВЕРНУТЬ МОДЕЛЬ нейросети DEEPSEEK R1 ПРЯМО НА СВОЁМ КОМПЬЮТЕРЕ
- Где и как применять? Потестируем модель после установки на разных задачах
- Как дообучить модель под себя?
Ключевое отличие: как растут деревья
Все три — это градиентный бустинг на деревьях решений, но стратегия построения деревьев у них разная, и именно она объясняет разницу в скорости, точности и склонности к переобучению.
- XGBoost — level-wise. Симметрично растит уровень за уровнем. Предсказуемо и устойчиво, но тратит вычисления на неинформативные ветки.
- LightGBM — leaf-wise. Растит самый «полезный» лист. Даёт меньшую ошибку при том же числе листьев и высокую скорость, но легче переобучается на малых данных — нужен контроль
max_depthиnum_leaves. - CatBoost — симметричные деревья + ordered boosting. Все листья уровня на одной глубине; упорядоченный бустинг борется со смещением предсказаний и переобучением «из коробки».
Работа с категориальными признаками
Это тот пункт, где разница ощущается сразу на практике. CatBoost — лучший друг всех, кто работает с категориями: города, марки авто, профессии он превращает в числа сам, через ordered target statistics, которые не подглядывают в целевую переменную текущего объекта и потому не дают утечки таргета.
В XGBoost и LightGBM категории исторически кодируют вручную — one-hot или label encoding. LightGBM умеет принимать categorical_feature напрямую, XGBoost получил экспериментальный enable_categorical, но по стабильности и качеству нативная обработка CatBoost пока эталон. Ручное кодирование несложно, но требует времени и легко приводит к ошибкам на этапе предобработки.
Насколько быстро они работают?
Если важна скорость обучения — лидер LightGBM: он обрабатывает данные очень быстро и держит миллионы строк. XGBoost неплох, но требует больше памяти и ресурсов. CatBoost чуть медленнее на старте — он проводит дополнительные расчёты ради точности, зато очень стабилен и меньше переобучается по умолчанию. Все три поддерживают обучение на GPU.
Кто точнее?
На хорошо настроенных параметрах все три показывают сопоставимую точность. Нюанс в дефолтах: без глубокого тюнинга CatBoost часто выигрывает на табличных данных и небольших выборках — его разумные настройки спасают новичков. LightGBM способен выдать лучшие метрики после тщательной настройки, но легко «переобучается», если не следить за глубиной деревьев и learning rate. XGBoost — золотая середина: устойчив, но требует внимания.
Минимальные примеры кода: fit и predict
API у всех трёх в стиле scikit-learn, поэтому переключаться между ними просто. Обратите внимание на строку с категориями — она и есть главное отличие в коде.
CatBoost — категории передаются как есть:
from catboost import CatBoostClassifier
model = CatBoostClassifier(iterations=500, learning_rate=0.05, verbose=0)
model.fit(X_train, y_train, cat_features=["city", "brand"])
preds = model.predict(X_test)
LightGBM — категории через параметр:
import lightgbm as lgb
model = lgb.LGBMClassifier(n_estimators=500, learning_rate=0.05)
model.fit(X_train, y_train, categorical_feature=["city", "brand"])
preds = model.predict(X_test)
XGBoost — либо кодируем заранее, либо экспериментальный флаг:
from xgboost import XGBClassifier
model = XGBClassifier(n_estimators=500, learning_rate=0.05, enable_categorical=True)
model.fit(X_train, y_train) # столбцы категорий должны иметь тип category
preds = model.predict(X_test)
Сравнительная таблица: CatBoost vs LightGBM vs XGBoost
| Критерий | CatBoost | LightGBM | XGBoost |
|---|---|---|---|
| Разработчик | Яндекс | Microsoft | DMLC / сообщество |
| Рост деревьев | Симметричные (oblivious) | По листьям (leaf-wise) | По уровням (level-wise) |
| Категориальные признаки | Нативно, ordered TS | Через параметр | Ручное кодирование / экспериментально |
| Скорость обучения | Средняя | Самая высокая | Средняя |
| Точность «из коробки» | Высокая | Требует тюнинга | Хорошая |
| Сложность настройки | Минимальная | Много гиперпараметров | Средняя |
| Риск переобучения | Низкий (ordered boosting) | Выше на малых данных | Умеренный |
| GPU | Да | Да | Да |
| Когда выбирать | Категории, быстрый старт | Миллионы строк, скорость | Контроль, проверенное решение |
Когда какой выбрать
В продакшене всё зависит от задачи:
- Много данных и нужна скорость — берите LightGBM.
- Нужно качество без лишней настройки и много категорий — CatBoost.
- Хотите тонкую настройку под себя и проверенное решение — XGBoost.
Все три хорошо масштабируются, работают с GPU и поддерживают сохранение моделей, поэтому их используют даже в крупных IT-компаниях и банковских системах. На практике многое решают именно ваши данные, поэтому нередко имеет смысл прогнать все три и сравнить метрики на своей выборке. Глубже понять, почему бустинг вообще работает, поможет разбор градиентного бустинга простыми словами.
Часто задаваемые вопросы
Что такое CatBoost простыми словами?
Это библиотека градиентного бустинга от Яндекса для работы с табличными данными. Её отличие — умение работать с категориальными признаками без ручного кодирования и симметричные деревья, которые дают стабильность и быстрые предсказания.
Чем CatBoost отличается от XGBoost и LightGBM?
Главное отличие — нативная обработка категорий и симметричные деревья с ordered boosting. XGBoost растит деревья по уровням, LightGBM — по листьям и требует кодировать категории, тогда как CatBoost делает это сам и реже переобучается по умолчанию.
Какая библиотека самая быстрая?
На обучении обычно LightGBM за счёт leaf-wise роста, GOSS и EFB, особенно на больших данных. CatBoost медленнее на старте, но стабильнее, а XGBoost находится между ними и требует больше памяти.
Нужно ли кодировать категории для CatBoost?
Нет. Достаточно передать список категориальных колонок через cat_features, и CatBoost сам применит упорядоченные целевые статистики. Это экономит время предобработки и снижает риск ошибок.
Что выбрать новичку?
CatBoost. Он даёт сильный результат «из коробки» при минимальной настройке, спокойно принимает разные типы данных и прощает ошибки в подборе параметров.
Вывод: что выбрать?
- Начинаете или много категорий? Берите CatBoost — просто, качественно и без лишней возни.
- Нужна скорость и масштаб? LightGBM.
- Хотите контролировать всё вручную? XGBoost.
Лучший ответ почти всегда даёт эксперимент на ваших данных: где-то выигрывает CatBoost, где-то LightGBM, а иногда XGBoost стабильно оказывается сильнее. Официальная документация поможет глубже: CatBoost docs и LightGBM Features.

- Освой нейросеть Perplexity и узнай, как пользоваться функционалом остальных ИИ в одном
- УЧАСТВОВАТЬ ЗА 0 РУБ.
- Расскажем, как получить подписку
- ПОКАЖЕМ, КАК РАЗВЕРНУТЬ МОДЕЛЬ нейросеть DEEPSEEK R1 ПРЯМО НА СВОЁМ КОМПЬЮТЕРЕ