Astuces kNN II : trier les variables
Comme l’algorithme des k plus proches voisins parcourt les variables du jeu de données pour les imputer, il calcule des distances entre observations en utilisant d’autres variables, dont certaines ont déjà été imputées aux étapes précédentes. Cela signifie que si les variables placées plus tôt dans les données contiennent beaucoup de valeurs manquantes, les calculs de distance suivants s’appuieront sur de nombreuses valeurs imputées. Cela introduit du bruit dans le calcul des distances.
Pour cette raison, il est recommandé de trier les variables par nombre de valeurs manquantes, par ordre croissant, avant d’effectuer l’imputation kNN. Ainsi, chaque calcul de distance repose sur le plus de données observées possible et sur le moins de données imputées.
Mettons cela en pratique sur les données tao !
Cet exercice fait partie du cours
Gérer les données manquantes avec des imputations en R
Instructions
- Calculez, dans la première partie du pipeline, le nombre de valeurs manquantes dans chaque colonne de
tao. - Puis triez les variables par nombre de valeurs manquantes, par ordre croissant, 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 k plus proches voisins sur les données réordonnées et assignez le résultat à
tao_imp.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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")