BaggingClassifier : principes et réglages

Méthodes d'ensemble en Python

Román de las Heras

Data Scientist, Appodeal

Fonctions hétérogènes vs homogènes

Fonction d'ensemble hétérogène

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

Fonction d'ensemble homogène

hom_est = HomogeneousEnsemble(
    est_base,
    n_estimators=chosen_number,
    # additional parameters
)
Méthodes d'ensemble en Python

BaggingClassifier

Exemple : Bagging Classifier

# Instancier l'estimateur de base (modèle « faible »)
clf_dt = DecisionTreeClassifier(max_depth=3)
# Construire le classifieur Bagging avec 5 estimateurs
clf_bag = BaggingClassifier(
    clf_dt,
    n_estimators=5
)
# Ajuster le modèle Bagging sur l'ensemble d'entraînement
clf_bag.fit(X_train, y_train)
# Prédire sur l'ensemble de test
y_pred = clf_bag.predict(X_test)
Méthodes d'ensemble en Python

BaggingRegressor

Exemple : Bagging Regressor

# Instancier l'estimateur de base (modèle « faible »)
reg_lr = LinearRegression()
# Construire le régleur Bagging avec 10 estimateurs
reg_bag = BaggingRegressor(
    reg_lr
)
# Ajuster le modèle Bagging sur l'ensemble d'entraînement
reg_bag.fit(X_train, y_train)
# Prédire sur l'ensemble de test
y_pred = reg_bag.predict(X_test)
Méthodes d'ensemble en Python

Score hors sac (out-of-bag)

  • Calculer les prédictions individuelles à partir des estimateurs pour lesquels une instance était hors échantillon
  • Combiner ces prédictions
  • Évaluer la mesure sur ces prédictions :
    • Classification : exactitude
    • Régression : 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
Méthodes d'ensemble en Python

À vous de jouer !

Méthodes d'ensemble en Python

Preparing Video For Download...