CommencezCommencez gratuitement

Équilibrer les classes

Cela peut avoir un impact important sur les prédictions, comme on le voit avec l'écart entre les scores de recall et d'accuracy. Pour corriger le déséquilibre, on attribue généralement des poids égaux à chaque classe. En utilisant l'argument class_weight dans le DecisionTreeClassifier de sklearn, on peut définir les classes comme "balanced".

Corrigeons notre modèle en réglant son problème de déséquilibre :

  • d'abord, vous allez configurer un modèle avec des classes équilibrées
  • ensuite, vous l'ajusterez aux données d'entraînement
  • enfin, vous vérifierez sa précision sur l'ensemble de test

Les variables features_train, target_train, features_test et target_test sont déjà disponibles dans votre espace de travail.

Cette activité fait partie du cours

Analytique RH : prédire le roulement du personnel avec Python

Voir le cours

Instructions de l’exercice

  • Initialisez le classifieur à arbres de décision, élaguez votre arbre en limitant sa profondeur maximale à 5 et équilibrez les poids des classes.
  • Ajustez le nouveau modèle.
  • Affichez le score de précision de la prédiction (en points de pourcentage) pour l'ensemble de test.

Exercice interactif pratique

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

# Initialize the DecisionTreeClassifier 
model_depth_5_b = DecisionTreeClassifier(____=5,class_weight="____",random_state=42)

# Fit the model
model_depth_5_b.____(features_train,target_train)

# Print the accuracy of the prediction (in percentage points) for the test set
print(model_depth_5_b.____(features_test,____)*100)
Modifier et exécuter le code