Adaptive boosting: prijswinnend model

Ensemblemethoden in Python

Román de las Heras

Data Scientist, Appodeal

Prijswinnend model

Over AdaBoost:

  • Voorstel door Yoav Freund en Robert Schapire (1997)
  • Winnaar van de Gödelprijs (2003)
  • Eerste praktische boosting-algoritme
  • Veelgebruide en bekende ensemblemethode

godel-prize.jpg

Ensemblemethoden in Python

Eigenschappen van AdaBoost

  1. Instanties worden getrokken met een steekproefverdeling
    • Moeilijke instanties krijgen hogere gewichten
    • Initieel uniform
  2. Schatters worden gecombineerd met gewogen meerderheidsstemming
    • Goede schatters krijgen hogere gewichten
  3. Gegarandeerde verbetering
  4. Classificatie en regressie

adaboost-sample.bmp

Ensemblemethoden in Python

AdaBoost-classifier met scikit-learn

AdaBoostClassifier

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

Parameters

  • base_estimator
    • Standaard: beslisboom (max_depth=1)
  • n_estimators
    • Standaard: 50
  • learning_rate
    • Standaard: 1.0
    • Afweging tussen n_estimators en learning_rate
Ensemblemethoden in Python

AdaBoost-regressor met scikit-learn

AdaBoostRegressor

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

Parameters

  • base_estimator
    • Standaard: beslisboom (max_depth=3)
  • loss
    • linear (standaard)
    • square
    • exponential
Ensemblemethoden in Python

Laten we oefenen!

Ensemblemethoden in Python

Preparing Video For Download...