CommencerCommencez gratuitement

Conserver les données manquantes

Dans certaines situations, le fait qu’une entrée soit manquante constitue en soi une information importante. Les NA peuvent être conservés dans une catégorie distincte "missing" grâce à la classification grossière.

La classification grossière permet de simplifier vos données et d’améliorer l’interprétabilité de votre modèle. Elle consiste à regrouper vos valeurs de réponse en classes correspondant à des plages de valeurs. Vous pouvez utiliser cette technique de regroupement pour placer tous les NA dans leur propre classe.

Dans la vidéo, nous avons illustré le principe de la classification grossière pour l’ancienneté d’emploi. Le code de cet exemple a été reproduit dans le script R à droite et peut être adapté pour appliquer une classification grossière à la variable int_rate.

Cet exercice fait partie du cours

<cours>Modélisation du risque de crédit en R</cours>
Voir le cours

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ée ir_cat.
    • Commencez par remplacer loan_data$emp_cat par loan_data$ir_cat partout où cela apparaît dans le script R, ainsi que loan_data$emp_length par loan_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. Pensez à modifier aussi les nombres dans les conditions : 15, 30 et 45 doivent devenir 8, 11 et 13.5 respectivement.
  • Visualisez votre nouvelle variable ir_cat avec plot(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()
Modifier et exécuter le code