Triki i porady dla kNN II: sortowanie zmiennych
Algorytm k-Nearest Neighbors przetwarza kolejno zmienne w zbiorze danych, obliczając odległości między obserwacjami na podstawie pozostałych zmiennych – w tym tych, które zostały już uzupełnione w poprzednich krokach. Oznacza to, że jeśli zmienne umieszczone wcześniej w zbiorze mają dużo brakujących wartości, kolejne obliczenia odległości opierają się w dużej mierze na wartościach imputowanych, co wprowadza szum do tego procesu.
Dlatego dobrą praktyką jest posortowanie zmiennych rosnąco według liczby brakujących wartości przed wykonaniem imputacji kNN. Dzięki temu każde obliczenie odległości bazuje na jak największej ilości rzeczywistych danych i jak najmniejszej ilości wartości imputowanych.
Wypróbuj to na zbiorze danych tao!
To ćwiczenie jest częścią kursu
Obsługa brakujących danych z imputacją w R
Instrukcje do ćwiczenia
- W pierwszej części potoku oblicz liczbę brakujących wartości w każdej kolumnie zbioru
tao. - Następnie posortuj zmienne rosnąco według liczby brakujących wartości, wyodrębnij ich nazwy i przypisz wynik do
vars_by_NAs. - Użyj funkcji
select(), aby zmienić kolejność zmiennych wtaozgodnie z kolejnością zapisaną wvars_by_NAs. - Wykonaj imputację metodą k-Nearest Neighbors na przestawioych danych i przypisz wynik do
tao_imp.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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")