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
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 llamadair_cat.- Primero, reemplaza
loan_data$emp_catporloan_data$ir_catdonde aparezca en el script de R, y también reemplazaloan_data$emp_lengthporloan_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).
- Primero, reemplaza
- Examina tu nueva variable
ir_catusandoplot(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()