Gradient boosting

Metodi Ensemble in Python

Román de las Heras

Data Scientist, Appodeal

Introduzione al gradient boosting machine

Obiettivo della funzione

  1. Modello iniziale (stimatore debole): $y\sim f_1(X)$
  2. Nuovo modello sui residui: $y-f_1(X)\sim f_2(X)$
  3. Nuovo modello additivo: $y\sim f_1(X)+f_2(X)$
  4. Ripeti $n$ volte o finché l’errore è abbastanza piccolo
  5. Modello finale additivo: $$y\sim f_1(X)+f_2(X)+ ... +f_n(x)=\sum_{i=1}^{n} f_i(X)$$
Metodi Ensemble in Python

Equivalenza con la discesa del gradiente

Residui della funzione

Discesa del gradiente:

Perdita della funzione

Gradiente della funzione

Residui = gradiente negativo

Gradiente negativo della funzione

Metodi Ensemble in Python

Classifier gradient boosting

Gradient Boosting Classifier

from sklearn.ensemble import GradientBoostingClassifier
clf_gbm = GradientBoostingClassifier(
   n_estimators=100,
   learning_rate=0.1,
   max_depth=3,
   min_samples_split,
   min_samples_leaf,
   max_features
)
  • n_estimators
    • Predefinito: 100
  • learning_rate
    • Predefinito: 0.1
  • max_depth
    • Predefinito: 3
  • min_samples_split
  • min_samples_leaf
  • max_features
Metodi Ensemble in Python

Regressor gradient boosting

Gradient Boosting Regressor

from sklearn.ensemble import GradientBoostingRegressor
reg_gbm = GradientBoostingRegressor(
   n_estimators=100,
   learning_rate=0.1,
   max_depth=3,
   min_samples_split,
   min_samples_leaf,
   max_features
)
Metodi Ensemble in Python

È ora di fare boosting!

Metodi Ensemble in Python

Preparing Video For Download...