Trucos y consejos de kNN II: ordenar variables
Como el algoritmo de k-Nearest Neighbors recorre las variables del conjunto de datos para imputarlas, calcula distancias entre observaciones usando otras variables, algunas de las cuales ya se han imputado en pasos previos. Esto significa que, si las variables que aparecen antes en los datos tienen muchos valores ausentes, el cálculo de distancias posterior se basará en muchos valores imputados. Esto introduce ruido en el cálculo de distancias.
Por esta razón, es una buena práctica ordenar las variables de forma creciente según el número de valores ausentes antes de realizar la imputación con kNN. Así, cada cálculo de distancia se basa en la mayor cantidad posible de datos observados y la menor cantidad de datos imputados.
¡Vamos a probarlo con los datos de tao!
Este ejercicio forma parte del curso
Tratamiento de datos faltantes con imputaciones en R
Instrucciones del ejercicio
- Calcula el número de valores ausentes en cada columna de
taoen la primera parte del pipeline. - Luego, ordena las variables de forma creciente según el número de valores ausentes, extrae sus nombres y asigna el resultado a
vars_by_NAs. - Usa
select()para reordenar las variables detaousando el orden guardado envars_by_NAs. - Realiza la imputación con k-Nearest Neighbors sobre los datos reordenados y asigna el resultado a
tao_imp.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Get tao variable names sorted by number of NAs
vars_by_NAs <- tao %>%
___ %>%
colSums() %>%
sort(decreasing = ___) %>%
names()
# Sort tao variables and feed it to kNN imputation
tao_imp <- tao %>%
select(___) %>%
___()
tao_imp %>%
select(sea_surface_temp, humidity, humidity_imp) %>%
marginplot(delimiter = "imp")