Élaguer l’arbre
Le surapprentissage est un problème classique en analytique, notamment avec l’algorithme d’arbre de décision. Une fois l’arbre entièrement développé, il peut fournir des prédictions très précises sur l’échantillon d’entraînement, tout en étant nettement moins performant sur l’ensemble de test. Pour cette raison, la croissance de l’arbre de décision est généralement contrôlée par :
- « Élaguer » l’arbre et fixer une limite à sa profondeur maximale.
- Limiter le nombre minimal d’observations dans une feuille de l’arbre.
Dans cet exercice, vous allez :
- élaguer l’arbre et limiter sa croissance à 5 niveaux de profondeur
- l’ajuster aux données des employés
- tester les prédictions sur les ensembles d’entraînement et 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
Instructions
- Initialisez le
DecisionTreeClassifieren limitant la profondeur de l’arbre à 5. - Ajustez le modèle d’arbre de décision en utilisant les
featureset letargetde l’ensemble d’entraînement. - Vérifiez la précision des prédictions sur les ensembles d’entraînement et de test.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Initialize the DecisionTreeClassifier while limiting the depth of the tree to 5
model_depth_5 = DecisionTreeClassifier(____=5, random_state=42)
# Fit the model
____.fit(features_train,target_train)
# Print the accuracy of the prediction for the training set
print(____.____(features_train,target_train)*100)
# Print the accuracy of the prediction for the test set
print(model_depth_5.score(____,____)*100)