Trucuri și sfaturi pentru kNN II: sortarea variabilelor
Pe măsură ce algoritmul k-Nearest Neighbors parcurge variabilele din date pentru a le imputa, calculează distanțele dintre observații folosind celelalte variabile, unele dintre care au fost deja imputate în pașii anteriori. Asta înseamnă că, dacă variabilele aflate mai devreme în date au multe valori lipsă, calculul distanței ulterior se bazează în mare parte pe valori imputate. Acest lucru introduce zgomot în calculul distanței.
Din acest motiv, este o bună practică să sortezi variabilele crescător după numărul de valori lipsă înainte de a efectua imputarea kNN. Astfel, fiecare calcul al distanței se bazează pe cât mai multe date observate și pe cât mai puține date imputate posibil.
Hai să testăm acest lucru pe datele tao!
Acest exercițiu face parte din cursul
Gestionarea datelor lipsă prin imputare în R
Instrucțiuni pentru exercițiu
- Calculează numărul de valori lipsă din fiecare coloană a setului
taoîn prima parte a pipeline-ului. - Apoi, sortează variabilele crescător în funcție de numărul de valori lipsă, extrage numele acestora și atribuie rezultatul variabilei
vars_by_NAs. - Folosește
select()pentru a reordona variabilele dintaoconform ordinii salvate învars_by_NAs. - Efectuează imputarea k-Nearest Neighbors pe datele reordonate și atribuie rezultatul variabilei
tao_imp.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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")