CommencerCommencer gratuitement

Un modèle de bagging plus complexe

Après avoir exploré les données sur les semi-conducteurs, construisons maintenant un classificateur 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é préparés pour vous.

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

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

Cet exercice fait partie du cours

Méthodes d’ensemble en Python

Afficher le cours

Instructions

  • Instanciez une régression logistique à utiliser comme classificateur de base avec les paramètres : class_weight='balanced', solver='liblinear' et random_state=42.
  • Créez un classificateur de bagging en utilisant la régression logistique comme estimateur de base, en spécifiant le nombre maximal de caractéristiques à 10, et en incluant le score out-of-bag.
  • Affichez le score out-of-bag pour le comparer à la précision.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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