Ce este Boosting?

Gradient Boosting Extrem cu XGBoost

Sergey Fogelson

Head of Data Science, TelevisaUnivision

Prezentare generală a Boosting

  • Nu este un algoritm specific de machine learning
  • Concept aplicabil unui set de modele de machine learning
    • „Meta-algoritm"
  • Meta-algoritm de ansamblu care convertește mulți cursanți slabi într-unul puternic
Gradient Boosting Extrem cu XGBoost

Cursanți slabi și cursanți puternici

  • Cursant slab: algoritm ML ușor mai bun decât hazardul
    • Exemplu: arbore de decizie cu predicții ușor peste 50%
  • Boosting convertește o colecție de cursanți slabi într-unul puternic
  • Cursant puternic: orice algoritm ajustabil pentru a obține performanțe bune
Gradient Boosting Extrem cu XGBoost

Cum funcționează Boosting

  • Antrenarea iterativă a unor modele slabe pe subseturi de date
  • Ponderarea fiecărei predicții slabe în funcție de performanța cursantului slab
  • Combinarea predicțiilor ponderate pentru a obține o predicție finală
  • ... mult mai bună decât predicțiile individuale!
Gradient Boosting Extrem cu XGBoost

Exemplu de Boosting

1 https://xgboost.readthedocs.io/en/latest/model.html
Gradient Boosting Extrem cu XGBoost

Evaluarea modelului prin validare încrucișată

  • Validare încrucișată: metodă robustă pentru estimarea performanței unui model pe date nevăzute
  • Generează multe partiții train/test non-suprapuse pe datele de antrenament
  • Raportează performanța medie pe setul de test pentru toate partițiile
Gradient Boosting Extrem cu XGBoost

Exemplu de validare încrucișată în 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
Gradient Boosting Extrem cu XGBoost

Să exersăm!

Gradient Boosting Extrem cu XGBoost

Preparing Video For Download...