Aplica imputación por la mediana
En este capítulo, vas a usar una versión del conjunto de datos Wisconsin Breast Cancer. Este conjunto plantea un problema clásico de clasificación binaria: el 50% de las muestras son benignas, el 50% malignas, y el reto es identificar cuáles son cuáles.
Este conjunto es interesante porque muchos predictores contienen valores ausentes y la mayoría de las filas tiene al menos un valor faltante. Esto complica el modelado, porque la mayoría de los algoritmos de Machine Learning no gestionan valores ausentes de forma nativa. Por ejemplo, tu primera idea podría ser ajustar una regresión logística, pero antes necesitas una estrategia para tratar los NA.
Por suerte, la función train() de caret incluye el argumento preProcess, que te permite indicar que se use imputación por la mediana para rellenar los valores ausentes. En capítulos anteriores, creaste modelos con train() usando fórmulas como y ~ .. Una alternativa es especificar los argumentos x y y de train(), donde x es un objeto con muestras en filas y características en columnas y y es un vector numérico o factor que contiene los resultados. Dicho de otro modo, x es una matriz o data frame que contiene todo el conjunto de datos que usarías en el argumento data de una llamada a lm(), por ejemplo, pero excluye la columna de la variable respuesta; y es un vector que contiene solo la columna de la variable respuesta.
Para este ejercicio, el argumento x de train() está cargado en tu espacio de trabajo como breast_cancer_x y y como breast_cancer_y.
Este ejercicio forma parte del curso
Machine Learning con caret en R
Instrucciones del ejercicio
- Usa la función
train()para ajustar un modeloglmllamadomedian_modelal conjunto de datos de cáncer de mama. UsapreProcess = "medianImpute"para manejar los valores ausentes. - Imprime
median_modelen la consola.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Apply median imputation: median_model
median_model <- train(
x = ___,
y = ___,
method = ___,
trControl = myControl,
preProcess = ___
)
# Print median_model to console