Une première tentative de bagging
Vous avez vu ce qui se passe lors d'une seule itération d'un ensemble de bagging. Passons maintenant à la création d'un modèle de bagging personnalisé !
Deux fonctions ont été préparées pour vous :
def build_decision_tree(X_train, y_train, random_state=None):
# Prend un échantillon avec remise,
# construit un arbre de décision « faible »,
# et l'ajuste à l'ensemble d'entraînement
def predict_voting(classifiers, X_test):
# Fait les prédictions individuelles
# puis les combine selon le « Vote »
Techniquement, la fonction build_decision_tree() correspond à ce que vous avez fait dans l'exercice précédent. Ici, vous allez construire plusieurs arbres de ce type puis les combiner. Voyons si cet ensemble de modèles « faibles » améliore la performance !
Cette activité fait partie du cours
Méthodes d'ensemble en Python
Instructions de l’exercice
- Construisez les modèles individuels en appelant
build_decision_tree(), en passant l'ensemble d'entraînement et l'indiceicomme graine aléatoire (random_state). - Prédisez les étiquettes de l'ensemble de test avec
predict_voting(), en utilisant la liste de classificateursclf_listet les variables explicatives de test en entrée.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Build the list of individual models
clf_list = []
for i in range(21):
weak_dt = ____
clf_list.append(weak_dt)
# Predict on the test set
pred = ____
# Print the F1 score
print('F1 score: {:.3f}'.format(f1_score(y_test, pred)))