Adaptive boosting: prisbelönt modell

Ensemblemetoder i Python

Román de las Heras

Data Scientist, Appodeal

Prisbelönt modell

Om AdaBoost:

  • Föreslagen av Yoav Freund och Robert Schapire (1997)
  • Vinnare av Gödelspriset (2003)
  • Den första praktiska boostingalgoritmen
  • Välkänd och flitigt använd ensemblemetod

godel-prize.jpg

Ensemblemetoder i Python

AdaBoost-egenskaper

  1. Instanser dras med en sampelfördelning
    • Svåra instanser ges högre vikter
    • Initieras med likformig fördelning
  2. Estimatorer kombineras med viktad majoritetsröstning
    • Bra estimatorer ges högre vikter
  3. Garanterat att förbättra resultatet
  4. Klassificering och regression

adaboost-sample.bmp

Ensemblemetoder i Python

AdaBoost-klassificerare med scikit-learn

AdaBoostClassifier

from sklearn.ensemble import AdaBoostClassifier
clf_ada = AdaBoostClassifier(
   base_estimator,
   n_estimators,
   learning_rate
)

Parametrar

  • base_estimator
    • Standard: beslutsträd (max_depth=1)
  • n_estimators
    • Standard: 50
  • learning_rate
    • Standard: 1,0
    • Avvägning mellan n_estimators och learning_rate
Ensemblemetoder i Python

AdaBoost-regressor med scikit-learn

AdaBoostRegressor

from sklearn.ensemble import AdaBoostRegressor
reg_ada = AdaBoostRegressor(
   base_estimator,
   n_estimators,
   learning_rate,
   loss
)

Parametrar

  • base_estimator
    • Standard: beslutsträd (max_depth=3)
  • loss
    • linjär (standard)
    • kvadratisk
    • exponentiell
Ensemblemetoder i Python

Nu kör vi en övning!

Ensemblemetoder i Python

Preparing Video For Download...