Bouw je eerste stacked ensemble

Ensemblemethoden in Python

Román de las Heras

Data Scientist, Appodeal

Stacking met scikit-learn

Enkele kenmerken van stacking in scikit-learn:

  1. scikit-learn biedt stacking-estimators (sinds versie 0.22)
  2. Compatibel met andere scikit-learn-estimators
  3. De finale estimator wordt getraind via cross-validatie
Ensemblemethoden in Python

Algemene stappen

Stacking-Architectuur-Stappen.png

Algemene stappen voor de implementatie:

  1. Bereid de dataset voor
  2. Bouw de modellen van laag 1
  3. Voeg de voorspellingen toe aan de dataset
  4. Bouw de meta-estimator van laag 2
  5. Gebruik het stacked ensemble voor voorspellingen
Ensemblemethoden in Python

Stacking-classifier

from sklearn.ensemble import StackingClassifier
# Instantieer de classifiers van laag 1
classifiers = [
    ('clf1', Classifier1(params1)),
    ('clf2', Classifier2(params2)),
    ...
    ('clfN', ClassifierN(paramsN))
]
# Instantieer de classifier van laag 2
clf_meta = ClassifierMeta(paramsMeta)
# Bouw de Stacking-classifier
clf_stack = StackingClassifier(
   estimators=classifiers,
   final_estimator=clf_meta,
   cv=5,
   stack_method='predict_proba',
   passthrough=False)
# Gebruik fit en predict
clf_stack.fit(X_train, y_train)
pred = clf_stack.predict(X_test)
Ensemblemethoden in Python

Stacking-regressor

from sklearn.ensemble import StackingRegressor
# Instantieer de regressors van laag 1
regressors = [
    ('reg1', Regressor1(params1)),
    ('reg2', Regressor2(params2)),
    ...
    ('regN', RegressorN(paramsN))    
]
# Instantieer de regressor van laag 2
reg_meta = RegressorMeta(paramsMeta)
# Bouw de Stacking-regressor
reg_stack = StackingRegressor(
   estimators=regressors,
   final_estimator=reg_meta,
   cv=5,
   passthrough=False)
# Gebruik fit en predict
reg_stack.fit(X_train, y_train)
pred = reg_stack.predict(X_test)
Ensemblemethoden in Python

Jij bent aan de beurt!

Ensemblemethoden in Python

Preparing Video For Download...