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
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é vtaopodle pořadí uloženého vvars_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")