Встречается на собеседованиях • сегодня

В чем разница между CatBoost, XGBoost и LightGBM

Все три — градиентные бустинги, но с разными оптимизациями:

XGBoost:

  • Реализация на основе гистограмм и предварительной сортировки признаков.
  • Поддержка регуляризации (L1/L2), что снижает переобучение.
  • Пример:
python
from xgboost import XGBClassifier  
model = XGBClassifier(n_estimators=100, learning_rate=0.1)  
model.fit(X_train, y_train)  

LightGBM:

  • Использует gradient-based one-side sampling (GOSS) и exclusive feature bundling (EFB) для ускорения.
  • Работает быстрее на больших данных из-за вертикального роста деревьев (leaf-wise).
  • Пример:
python
from lightgbm import LGBMClassifier  
model = LGBMClassifier(n_estimators=100, learning_rate=0.1)  
model.fit(X_train, y_train)  

CatBoost:

  • Автоматически обрабатывает категориальные признаки без предобработки.
  • Устойчив к переобучению благодаря ordered boosting и симметричным деревьям.
  • Пример:
python
from catboost import CatBoostClassifier  
model = CatBoostClassifier(iterations=100, learning_rate=0.1)  
model.fit(X_train, y_train, cat_features=cat_cols)  

Выбор:

  • Для категориальных данных — CatBoost.
  • Для скорости — LightGBM.
  • Для баланса точности и регуляризации — XGBoost.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы