Conserver les données manquantes
Dans certaines situations, le fait qu'une valeur d'entrée soit manquante constitue en soi une information importante. On peut conserver les NA dans une catégorie distincte « missing » au moyen d'une classification grossière.
La classification grossière vous permet de simplifier vos données et d'améliorer l'interprétabilité de votre modèle. Elle consiste à regrouper vos valeurs en intervalles. Vous pouvez utiliser cette mise en classes pour placer tous les NA dans leur propre intervalle.
Dans la vidéo, nous avons illustré la classification grossière pour la durée d'emploi. Le code de cet exemple a été reproduit dans le script R à droite et peut être adapté pour effectuer une classification grossière de la variable int_rate.
Cette activité fait partie du cours
Modélisation du risque de crédit en R
Instructions de l’exercice
- Apportez les modifications nécessaires au code fourni pour effectuer une classification grossière de
int_rate, et enregistrez le résultat dans une nouvelle variable appeléeir_cat.- D'abord, remplacez
loan_data$emp_catparloan_data$ir_catpartout où il apparaît dans le script R, et remplacez aussiloan_data$emp_lengthparloan_data$int_rate. - Ensuite, les variables doivent être regroupées dans les catégories
"0-8","8-11","11-13.5"et"13.5+"(en remplaçant"0-15","15-30","30-45"et"45+"). L'utilisation de>et<=est exactement celle de la vidéo. Assurez-vous aussi de modifier les nombres dans les conditions (15, 30 et 45 doivent devenir 8, 11 et 13.5, respectivement).
- D'abord, remplacez
- Examinez votre nouvelle variable
ir_catavecplot(loan_data$ir_cat).
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Make the necessary replacements in the coarse classification example below
loan_data$emp_cat <- rep(NA, length(loan_data$emp_length))
loan_data$emp_cat[which(loan_data$emp_length <= 15)] <- "0-15"
loan_data$emp_cat[which(loan_data$emp_length > 15 & loan_data$emp_length <= 30)] <- "15-30"
loan_data$emp_cat[which(loan_data$emp_length > 30 & loan_data$emp_length <= 45)] <- "30-45"
loan_data$emp_cat[which(loan_data$emp_length > 45)] <- "45+"
loan_data$emp_cat[which(is.na(loan_data$emp_length))] <- "Missing"
loan_data$emp_cat <- as.factor(loan_data$emp_cat)
# Look at your new variable using plot()