CommencezCommencez gratuitement

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

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.
    • D'abord, remplacez loan_data$emp_cat par loan_data$ir_cat partout où il apparaît dans le script R, et remplacez aussi 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. Assurez-vous aussi de modifier les nombres dans les conditions (15, 30 et 45 doivent devenir 8, 11 et 13.5, respectivement).
  • Examinez 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