Začněte nyníZačněte zdarma

Tipy a triky pro kNN II: řazení proměnných

Algoritmus k-Nearest Neighbors prochází proměnné v datech jednu po druhé a imputuje je. Přitom počítá vzdálenosti mezi pozorováními na základě ostatních proměnných – některé z nich už mohly být imputovány v předchozích krocích. To znamená, že pokud mají proměnné nacházející se na začátku dat hodně chybějících hodnot, opírá se výpočet vzdálenosti z velké části o imputované hodnoty. Tím se do výpočtu vnáší šum.

Proto je dobré seřadit proměnné před kNN imputací vzestupně podle počtu chybějících hodnot. Každý výpočet vzdálenosti tak vychází z co nejvíce pozorovaných a co nejméně imputovaných dat.

Vyzkoušejme si to na datech tao!

Toto cvičení je součástí kurzu

Práce s chybějícími daty pomocí imputace v R

Zobrazit kurz

Pokyny k cvičení

  • V první části pipeline vypočítej počet chybějících hodnot v každém sloupci datasetu tao.
  • Poté seřaď proměnné vzestupně podle počtu chybějících hodnot, extrahuj jejich názvy a výsledek ulož do vars_by_NAs.
  • Pomocí select() přeuspořádej proměnné v tao podle pořadí uloženého v vars_by_NAs.
  • Proveď imputaci metodou k-Nearest Neighbors na přeuspořádaných datech a výsledek ulož do tao_imp.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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")
Upravit a spustit kód