BaggingClassifier: dettagli pratici

Metodi Ensemble in Python

Román de las Heras

Data Scientist, Appodeal

Funzioni eterogenee vs omogenee

Funzione Ensemble eterogenea

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

Funzione Ensemble omogenea

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

BaggingClassifier

Esempio di Bagging Classifier:

# Istanzia il modello base (modello "debole")
clf_dt = DecisionTreeClassifier(max_depth=3)
# Costruisci il Bagging classifier con 5 stimatori
clf_bag = BaggingClassifier(
    clf_dt,
    n_estimators=5
)
# Allena il modello Bagging sul training set
clf_bag.fit(X_train, y_train)
# Previsioni sul test set
y_pred = clf_bag.predict(X_test)
Metodi Ensemble in Python

BaggingRegressor

Esempio di Bagging Regressor:

# Istanzia il modello base (modello "debole")
reg_lr = LinearRegression()
# Costruisci il Bagging regressor con 10 stimatori
reg_bag = BaggingRegressor(
    reg_lr
)
# Allena il modello Bagging sul training set
reg_bag.fit(X_train, y_train)
# Previsioni sul test set
y_pred = reg_bag.predict(X_test)
Metodi Ensemble in Python

Out-of-bag score

  • Calcola le singole previsioni usando tutti gli stimatori per cui un'istanza era fuori campione
  • Combina le previsioni individuali
  • Valuta la metrica su quelle previsioni:
    • Classificazione: accuracy
    • Regressione: 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
Metodi Ensemble in Python

Ora tocca a te!

Metodi Ensemble in Python

Preparing Video For Download...