Élaguer l’arbre avec des probabilités a priori modifiées
Dans la vidéo, vous avez appris que l’élagage d’un arbre est nécessaire pour éviter le surapprentissage. Les exercices précédents ont produit de grands arbres ; vous allez maintenant mettre cela en pratique et élaguer l’arbre construit précédemment avec des probabilités a priori modifiées. Le package rpart est déjà chargé dans votre espace de travail.
Vous allez d’abord fixer une graine aléatoire pour garantir la reproductibilité des résultats, comme indiqué dans la vidéo, car vous allez examiner les erreurs issues de la validation croisée. Ces résultats comportent une part d’aléa et peuvent légèrement varier si vous relancez la fonction avec une autre graine.
Dans cet exercice, vous apprendrez à identifier quel paramètre de complexité (CP) minimise l’erreur de validation croisée, puis à élaguer votre arbre en fonction de cette valeur.
Cet exercice fait partie du cours
<cours>Modélisation du risque de crédit en R</cours>Instructions de l’exercice
tree_priorest chargé dans votre espace de travail.- Utilisez
plotcp()pour visualiser l’erreur issue de la validation croisée (X-val Relative Error) en fonction du paramètre de complexité pourtree_prior. - Utilisez
printcp()pour afficher un tableau d’informations sur CP, les divisions (splits) et les erreurs. Voyez si vous pouvez identifier quelle division présente l’erreur de validation croisée minimale danstree_prior. - Utilisez
which.min()pour identifier quelle ligne detree_prior$cptableprésente l’erreur de validation croisée minimale"xerror". Affectez ce résultat àindex. - Créez
tree_minen sélectionnant, dans la colonne"CP", l’index correspondant detree_prior$cptable. - Utilisez la fonction
prune()pour obtenir l’arbre élagué. Nommez l’arbre élaguéptree_prior. - Le package
rpart.plotest chargé dans votre espace de travail. Représentez l’arbre élagué avec la fonction prp() (paramètres par défaut).
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# tree_prior is loaded in your workspace
# Plot the cross-validated error rate as a function of the complexity parameter
# Use printcp() to identify for which complexity parameter the cross-validated error rate is minimized.
# Create an index for of the row with the minimum xerror
index <- which.min(___$___[ , "xerror"])
# Create tree_min
tree_min <- tree_prior$cptable[index, "CP"]
# Prune the tree using tree_min
ptree_prior <- prune(___, cp = ___)
# Use prp() to plot the pruned tree