Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Beräkna antalet saknade värden i varje kolumn i tao i 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 i tao enligt den ordning som sparats i vars_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")
Redigera och kör kod