BaggingClassifier: fundamentos y detalles

Ensemble Methods in Python

Román de las Heras

Data Scientist, Appodeal

Funciones heterogéneas vs homogéneas

Función de conjunto heterogéneo

het_est = HeterogeneousEnsemble(
    estimators=[('est1', est1), ('est2', est2), ...],
    # additional parameters
)

Función de conjunto homogéneo

hom_est = HomogeneousEnsemble(
    est_base,
    n_estimators=chosen_number,
    # additional parameters
)
Ensemble Methods in Python

BaggingClassifier

Ejemplo de Bagging Classifier:

# Instancia el estimador base (modelo "débil")
clf_dt = DecisionTreeClassifier(max_depth=3)
# Crea el clasificador Bagging con 5 estimadores
clf_bag = BaggingClassifier(
    clf_dt,
    n_estimators=5
)
# Ajusta el modelo Bagging al conjunto de entrenamiento
clf_bag.fit(X_train, y_train)
# Predice sobre el conjunto de prueba
y_pred = clf_bag.predict(X_test)
Ensemble Methods in Python

BaggingRegressor

Ejemplo de Bagging Regressor:

# Instancia el estimador base (modelo "débil")
reg_lr = LinearRegression()
# Crea el regresor Bagging con 10 estimadores
reg_bag = BaggingRegressor(
    reg_lr
)
# Ajusta el modelo Bagging al conjunto de entrenamiento
reg_bag.fit(X_train, y_train)
# Predice sobre el conjunto de prueba
y_pred = reg_bag.predict(X_test)
Ensemble Methods in Python

Puntuación out-of-bag

  • Calcula las predicciones individuales con todos los estimadores para los que una instancia quedó fuera de la muestra
  • Combina las predicciones individuales
  • Evalúa la métrica sobre esas predicciones:
    • Clasificación: accuracy
    • Regresión: R^2
clf_bag = BaggingClassifier(
    clf_dt,
    oob_score=True
)
clf_bag.fit(X_train, y_train)
print(clf_bag.oob_score_)
0.9328125
pred = clf_bag.predict(X_test)
print(accuracy_score(y_test, pred))
0.9625
Ensemble Methods in Python

¡Ahora te toca a ti!

Ensemble Methods in Python

Preparing Video For Download...