Разновидности градиентного бустинга

Ансамблевые методы в Python

Román de las Heras

Data Scientist, Appodeal

Варианты градиентного бустинга

Алгоритм градиентного бустинга

  • Extreme Gradient Boosting
  • Light Gradient Boosting Machine
  • Categorical Boosting

Реализация

  • XGBoost
  • LightGBM
  • CatBoost
Ансамблевые методы в Python

Экстремальный градиентный бустинг (XGBoost)

Основные свойства:

  • Оптимизирован для распределённых вычислений
  • Параллельное обучение по своей природе
  • Масштабируемый, портативный и точный
import xgboost as xgb

clf_xgb = xgb.XGBClassifier(
   n_estimators=100,
   learning_rate=None,
   max_depth=None,
   random_state
)
clg_xgb.fit(X_train, y_train)
pred = clf_xgb.predict(X_test)
Ансамблевые методы в Python

Облегчённая машина градиентного бустинга

Основные свойства:

  • Выпущен Microsoft (2017)
  • Быстрее обучается и эффективнее
  • Меньше занимает памяти
  • Оптимизирован для параллельных вычислений и GPU
  • Подходит для больших наборов данных с ограничениями по скорости или памяти
import lightgbm as lgb

clf_lgb = lgb.LGBMClassifier(
   n_estimators=100,
   learning_rate=0.1,
   max_depth=-1,
   random_state
)
clf_lgb.fit(X_train, y_train)
pred = clf_lgb.predict(X_test)
Ансамблевые методы в Python

Категориальный бустинг

Основные свойства:

  • Открытый исходный код от Яндекса (апрель 2017)
  • Встроенная обработка категориальных признаков
  • Точный и надёжный
  • Быстрый и масштабируемый
  • Удобный API
import catboost as cb

clf_cat = cb.CatBoostClassifier(
   n_estimators=None,
   learning_rate=None,
   max_depth=None,
   random_state
)
clf_cat.fit(X_train, y_train)
pred = clf_cat.predict(X_test)
Ансамблевые методы в Python

Давайте потренируемся!

Ансамблевые методы в Python

Preparing Video For Download...