CommencezCommencez gratuitement

Astuces kNN II : trier les variables

Comme l'algorithme des plus proches voisins (k-Nearest Neighbors) parcourt les variables des données pour les imputer, il calcule les distances entre observations en utilisant d'autres variables, dont certaines ont déjà été imputées aux étapes précédentes. Ainsi, si les variables placées plus tôt dans les données contiennent beaucoup de valeurs manquantes, le calcul des distances qui suit s'appuie alors sur de nombreuses valeurs imputées. Cela ajoute du bruit au calcul des distances.

Pour cette raison, il est recommandé de trier les variables par ordre croissant selon le nombre de valeurs manquantes avant de procéder à l'imputation kNN. De cette façon, chaque calcul de distance repose sur le plus de données observées possible et le moins de données imputées possible.

Mettons cela à l'essai sur les données tao!

Cette activité fait partie du cours

Traitement des données manquantes par imputation dans R

Voir le cours

Instructions de l’exercice

  • Calculez, dans la première partie du tuyau de traitement, le nombre de valeurs manquantes dans chaque colonne de tao.
  • Ensuite, triez les variables par ordre croissant selon le nombre de valeurs manquantes, extrayez leurs noms et assignez le résultat à vars_by_NAs.
  • Utilisez select() pour réorganiser les variables de tao selon l'ordre enregistré dans vars_by_NAs.
  • Effectuez l'imputation par plus proches voisins (k-Nearest Neighbors) sur les données réorganisées et assignez le résultat à tao_imp.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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")
Modifier et exécuter le code