CommencezCommencez gratuitement

Un modèle de bagging plus complexe

Après avoir exploré les données sur les semi‑conducteurs, construisons maintenant un classifieur par bagging pour prédire l'étiquette 'Pass/Fail' à partir des variables d'entrée.

Le jeu de données prétraité est disponible dans votre espace de travail sous le nom uci_secom, et des ensembles d'entraînement et de test ont été créés pour vous.

Comme la cible présente un fort déséquilibre des classes, utilisez une régression logistique "balanced" comme estimateur de base ici.

Nous allons aussi réduire le temps de calcul pour LogisticRegression avec le paramètre solver='liblinear', un optimiseur plus rapide que la valeur par défaut.

Cette activité fait partie du cours

Méthodes d'ensemble en Python

Voir le cours

Instructions de l’exercice

  • Instanciez une régression logistique à utiliser comme classifieur de base avec les paramètres : class_weight='balanced', solver='liblinear' et random_state=42.
  • Créez un classifieur par bagging en utilisant cette régression logistique comme estimateur de base, en fixant le nombre maximal de caractéristiques à 10 et en incluant le score hors sac (out-of-bag).
  • Affichez le score hors sac pour le comparer à la justesse (accuracy).

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Build a balanced logistic regression
clf_lr = ____

# Build and fit a bagging classifier
clf_bag = ____(____, ____, ____, random_state=500)
clf_bag.fit(X_train, y_train)

# Evaluate the accuracy on the test set and show the out-of-bag score
pred = clf_bag.predict(X_test)
print('Accuracy:  {:.2f}'.format(accuracy_score(y_test, pred)))
print('OOB-Score: {:.2f}'.format(____))

# Print the confusion matrix
print(confusion_matrix(y_test, pred))
Modifier et exécuter le code