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
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 detaoselon l'ordre enregistré dansvars_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")