ComenzarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Calcula el número de valores ausentes en cada columna de tao en 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 de tao usando el orden guardado en vars_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")
Editar y ejecutar código