Что такое бустинг?

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

Sergey Fogelson

Head of Data Science, TelevisaUnivision

Обзор бустинга

  • Не отдельный алгоритм машинного обучения
  • Концепция, применимая к набору моделей машинного обучения
    • «Мета-алгоритм»
  • Ансамблевый мета-алгоритм, преобразующий множество слабых моделей в сильную
Экстремальный градиентный бустинг с XGBoost

Слабые и сильные модели

  • Слабая модель: алгоритм МО, работающий лишь немного лучше случайного
    • Пример: дерево решений с точностью чуть выше 50%
  • Бустинг превращает набор слабых моделей в сильную
  • Сильная модель: любой алгоритм, настраиваемый до высокой точности
Экстремальный градиентный бустинг с XGBoost

Как работает бустинг

  • Итеративное обучение слабых моделей на подвыборках данных
  • Взвешивание каждого прогноза по качеству соответствующей модели
  • Объединение взвешенных прогнозов в единый итоговый
  • ... который значительно точнее любого отдельного прогноза!
Экстремальный градиентный бустинг с XGBoost

Пример бустинга

1 https://xgboost.readthedocs.io/en/latest/model.html
Экстремальный градиентный бустинг с XGBoost

Оценка модели с помощью кросс-валидации

  • Кросс-валидация: надёжный метод оценки качества модели на новых данных
  • Формирует множество непересекающихся разбиений обучающих данных
  • Возвращает среднее качество на тестовой выборке по всем разбиениям
Экстремальный градиентный бустинг с XGBoost

Кросс-валидация в XGBoost: пример

import xgboost as xgb
import pandas as pd

churn_data = pd.read_csv("classification_data.csv")
churn_dmatrix = xgb.DMatrix(data=churn_data.iloc[:,:-1], label=churn_data.month_5_still_here)
params={"objective":"binary:logistic","max_depth":4}
cv_results = xgb.cv(dtrain=churn_dmatrix, params=params, nfold=4, num_boost_round=10, metrics="error", as_pandas=True)
print("Accuracy: %f" %((1-cv_results["test-error-mean"]).iloc[-1]))
Accuracy: 0.88315
Экстремальный градиентный бустинг с XGBoost

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

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

Preparing Video For Download...