EmpezarEmpieza gratis

Mantener los datos ausentes

En algunas situaciones, el hecho de que falte un dato de entrada ya es información importante por sí misma. Puedes mantener los NA en una categoría aparte de "missing" usando clasificación gruesa.

La clasificación gruesa te permite simplificar tus datos y mejorar la interpretabilidad de tu modelo. Esta técnica requiere agrupar las respuestas en intervalos que contengan rangos de valores. Puedes usar este binning para colocar todos los NA en su propio grupo.

En el vídeo, ilustramos la idea de clasificación gruesa para la antigüedad laboral. El código de ese ejemplo se ha reproducido en el script de R de la derecha y puede adaptarse para clasificar de forma gruesa la variable int_rate.

Este ejercicio forma parte del curso

Modelización del riesgo de crédito en R

Ver curso

Instrucciones del ejercicio

  • Realiza los cambios necesarios en el código proporcionado para clasificar de forma gruesa int_rate, guardando el resultado en una nueva variable llamada ir_cat.
    • Primero, reemplaza loan_data$emp_cat por loan_data$ir_cat donde aparezca en el script de R, y también reemplaza loan_data$emp_length por loan_data$int_rate.
    • Después, las variables deben agruparse en las categorías "0-8", "8-11", "11-13.5" y "13.5+" (sustituyendo "0-15","15-30","30-45" y "45+"). El uso de > y <= es exactamente como en el vídeo. Asegúrate de cambiar también los números en las condiciones (15, 30 y 45 deben cambiarse por 8, 11 y 13.5 respectivamente).
  • Examina tu nueva variable ir_cat usando plot(loan_data$ir_cat).

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# 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()
Editar y ejecutar código