CommencezCommencez gratuitement

Développer et tester le meilleur modèle

Au chapitre 3, vous avez déterminé que les paramètres suivants permettent d'obtenir un meilleur modèle :

  • max_depth = 8,
  • min_samples_leaf = 150,
  • class_weight = "balanced"

Dans ce chapitre, vous avez découvert que certaines variables explicatives ont un impact négligeable. Vous avez constaté qu'il est possible d'obtenir des prédictions fiables en n'utilisant qu'un petit nombre de caractéristiques pertinentes, et vous avez mis à jour vos ensembles d'entraînement et de test en conséquence, en créant les variables features_train_selected et features_test_selected.

Avec toute cette information à votre disposition, vous allez maintenant développer le meilleur modèle pour prédire le roulement du personnel et l'évaluer à l'aide des mesures appropriées.

Les variables features_train_selected et features_test_selected sont disponibles dans votre espace de travail, et les fonctions recall_score et roc_auc_score ont été importées pour vous.

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 meilleur modèle en utilisant les paramètres fournis dans la description.
  • Ajustez le modèle en utilisant uniquement les caractéristiques sélectionnées de l'ensemble d'entraînement.
  • Faites une prédiction à partir des caractéristiques sélectionnées de l'ensemble de test.
  • Affichez les scores d'exactitude, de rappel et de ROC/AUC du modèle.

Exercice interactif pratique

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

# Initialize the best model using parameters provided in description
model_best = DecisionTreeClassifier(____=____, ____=____, ____=____, random_state=42)

# Fit the model using only selected features from training set: done
model_best.fit(____, target_train)

# Make prediction based on selected list of features from test set
prediction_best = model_best.____(____)

# Print the general accuracy of the model_best
print(____.score(features_test_selected, target_test) * 100)

# Print the recall score of the model predictions
print(____(target_test, prediction_best) * 100)

# Print the ROC/AUC score of the model predictions
print(roc_auc_score(target_test, ____) * 100)
Modifier et exécuter le code