Czym jest Boosting?

Extreme Gradient Boosting with XGBoost

Sergey Fogelson

Head of Data Science, TelevisaUnivision

Przegląd boostingu

  • Nie jest konkretnym algorytmem uczenia maszynowego
  • Koncepcja stosowana do zbioru modeli uczenia maszynowego
    • „Meta-algorytm"
  • Zespołowy meta-algorytm przekształcający słabych uczących się w silnego
Extreme Gradient Boosting with XGBoost

Słabi i silni uczący się

  • Słaby uczący się: algorytm ML nieznacznie lepszy od przypadkowego
    • Przykład: drzewo decyzyjne z trafnością nieznacznie powyżej 50%
  • Boosting przekształca zbiór słabych uczących się w silnego
  • Silny uczący się: algorytm, który można dostroić do wysokiej wydajności
Extreme Gradient Boosting with XGBoost

Jak działa boosting

  • Iteracyjne uczenie zestawu słabych modeli na podzbiorach danych
  • Ważenie każdej słabej predykcji według wydajności danego uczącego się
  • Łączenie ważonych predykcji w jedną predykcję końcową
  • ... która jest znacznie lepsza niż poszczególne predykcje!
Extreme Gradient Boosting with XGBoost

Przykład boostingu

1 https://xgboost.readthedocs.io/en/latest/model.html
Extreme Gradient Boosting with XGBoost

Ocena modelu za pomocą walidacji krzyżowej

  • Walidacja krzyżowa: solidna metoda oceny wydajności modelu na nowych danych
  • Generuje wiele niepokrywających się podziałów na zbiór treningowy i testowy
  • Raportuje średnią wydajność na zbiorze testowym dla wszystkich podziałów
Extreme Gradient Boosting with XGBoost

Walidacja krzyżowa w XGBoost – przykład

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
Extreme Gradient Boosting with XGBoost

Czas na ćwiczenia!

Extreme Gradient Boosting with XGBoost

Preparing Video For Download...