Sestavte první skládaný ensemble

Ensemble Methods in Python

Román de las Heras

Data Scientist, Appodeal

Stacking modelů pomocí scikit-learn

Vlastnosti implementace stackingu v scikit-learn:

  1. scikit-learn poskytuje stackingové estimátory (od verze 0.22)
  2. Kompatibilní s ostatními estimátory scikit-learn
  3. Finální estimátor je trénován pomocí křížové validace
Ensemble Methods in Python

Obecné kroky

Architektura a kroky stackingu

Obecné kroky implementace:

  1. Připravte datovou sadu
  2. Sestavte estimátory první vrstvy
  3. Přidejte predikce do datové sady
  4. Sestavte meta estimátor druhé vrstvy
  5. Použijte skládaný ensemble pro predikce
Ensemble Methods in Python

Stackingový klasifikátor

from sklearn.ensemble import StackingClassifier
# Instantiate the 1st-layer classifiers
classifiers = [
    ('clf1', Classifier1(params1)),
    ('clf2', Classifier2(params2)),
    ...
    ('clfN', ClassifierN(paramsN))
]
# Instantiate the 2nd-layer classifier
clf_meta = ClassifierMeta(paramsMeta)
# Build the Stacking classifier
clf_stack = StackingClassifier(
   estimators=classifiers,
   final_estimator=clf_meta,
   cv=5,
   stack_method='predict_proba',
   passthrough=False)
# Use the fit and predict methods
clf_stack.fit(X_train, y_train)
pred = clf_stack.predict(X_test)
Ensemble Methods in Python

Stackingový regresor

from sklearn.ensemble import StackingRegressor
# Instantiate the 1st-layer regressors
regressors = [
    ('reg1', Regressor1(params1)),
    ('reg2', Regressor2(params2)),
    ...
    ('regN', RegressorN(paramsN))    
]
# Instantiate the 2nd-layer regressor
reg_meta = RegressorMeta(paramsMeta)
# Build the Stacking regressor
reg_stack = StackingRegressor(
   estimators=regressors,
   final_estimator=reg_meta,
   cv=5,
   passthrough=False)
# Use the fit and predict methods
reg_stack.fit(X_train, y_train)
pred = reg_stack.predict(X_test)
Ensemble Methods in Python

Lass uns üben!

Ensemble Methods in Python

Preparing Video For Download...