kNN – tips och tricks II: sortera variabler
När k-Nearest Neighbors-algoritmen itererar över variablerna i datamängden för att imputera dem, beräknar den avstånd mellan observationer med hjälp av andra variabler – varav några redan har imputerats i tidigare steg. Det innebär att om variablerna tidigt i datamängden har många saknade värden, baseras den efterföljande avståndsberäkningen på många imputerade värden. Det introducerar brus i avståndsberäkningen.
Av den anledningen är det god praxis att sortera variablerna i stigande ordning efter antalet saknade värden innan kNN-imputering utförs. På så sätt baseras varje avståndsberäkning på så mycket observerad data och så lite imputerad data som möjligt.
Låt oss prova det här på tao-datamängden!
Den här övningen är en del av kursen
Hantering av saknade värden med imputering i R
Övningsinstruktioner
- Beräkna antalet saknade värden i varje kolumn i
taoi den första delen av pipeline:n. - Sortera sedan variablerna i stigande ordning efter antalet saknade värden, extrahera deras namn och tilldela resultatet till
vars_by_NAs. - Använd
select()för att ordna om variablerna itaoenligt den ordning som sparats ivars_by_NAs. - Utför k-Nearest Neighbors-imputering på den omordnade datamängden och tilldela resultatet till
tao_imp.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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")