CommencerCommencer gratuitement

Équilibrer les classes

Cela peut fortement influer sur les résultats de prédiction, comme le montre l’écart entre les scores de recall et d’accuracy. Pour résoudre 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 rendre les classes "balanced".

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

  • d’abord, vous allez configurer un modèle avec des classes équilibrées
  • ensuite, vous l’ajusterez sur les 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.

Cet exercice fait partie du cours

Analytique RH : prédire l’attrition des employés en Python

Afficher le cours

Instructions

  • Initialisez le Decision Tree Classifier, é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 pourcentage) pour l’ensemble de test.

Exercice interactif pratique

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

# 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