Crea tu primer stacked ensemble

Ensemble Methods in Python

Román de las Heras

Data Scientist, Appodeal

Modelos stacking con scikit-learn

Algunas características del stacking en scikit-learn:

  1. scikit-learn incluye estimadores de stacking (desde la versión 0.22)
  2. Compatible con otros estimadores de scikit-learn
  3. El estimador final se entrena con validación cruzada
Ensemble Methods in Python

Pasos generales

Pasos de la arquitectura de stacking

Pasos generales para implementarlo:

  1. Prepara el conjunto de datos
  2. Crea los estimadores de la primera capa
  3. Añade las predicciones al conjunto de datos
  4. Crea el metaestimador de la segunda capa
  5. Usa el ensemble apilado para predecir
Ensemble Methods in Python

Clasificador stacking

from sklearn.ensemble import StackingClassifier
# Instancia los clasificadores de la 1.ª capa
classifiers = [
    ('clf1', Classifier1(params1)),
    ('clf2', Classifier2(params2)),
    ...
    ('clfN', ClassifierN(paramsN))
]
# Instancia el clasificador de la 2.ª capa
clf_meta = ClassifierMeta(paramsMeta)
# Construye el clasificador Stacking
clf_stack = StackingClassifier(
   estimators=classifiers,
   final_estimator=clf_meta,
   cv=5,
   stack_method='predict_proba',
   passthrough=False)
# Usa los métodos fit y predict
clf_stack.fit(X_train, y_train)
pred = clf_stack.predict(X_test)
Ensemble Methods in Python

Regresor stacking

from sklearn.ensemble import StackingRegressor
# Instancia los regresores de la 1.ª capa
regressors = [
    ('reg1', Regressor1(params1)),
    ('reg2', Regressor2(params2)),
    ...
    ('regN', RegressorN(paramsN))    
]
# Instancia el regresor de la 2.ª capa
reg_meta = RegressorMeta(paramsMeta)
# Construye el regresor Stacking
reg_stack = StackingRegressor(
   estimators=regressors,
   final_estimator=reg_meta,
   cv=5,
   passthrough=False)
# Usa los métodos fit y predict
reg_stack.fit(X_train, y_train)
pred = reg_stack.predict(X_test)
Ensemble Methods in Python

¡Es tu turno!

Ensemble Methods in Python

Preparing Video For Download...