Moje pytanie dotyczy technik radzenia sobie z niekompletnymi danymi podczas szkolenia / dopasowania / klasyfikacji klasyfikatora / modelu.
Na przykład w zestawie danych zawierającym kilkaset wierszy, z których każdy ma powiedzmy pięć wymiarów i etykietę klasy jako ostatni element, większość punktów danych będzie wyglądać następująco:
[0,74, 0,39, 0,14, 0,33, 0,34, 0]
Kilka może wyglądać mniej więcej tak:
[0,21, 0,68, 8, 0,82, 0,58, 1]
Więc to typy punktów danych są przedmiotem tego pytania.
Pierwszym powodem, dla którego zadałem to pytanie, był problem przede mną; jednak przed opublikowaniem mojego pytania pomyślałem, że może być bardziej użyteczne, jeśli przeformułuję je, aby odpowiedzi były przydatne dla większej części Wspólnoty.
Jako prostą heurystykę podzielmy te techniki przetwarzania danych w oparciu o to, kiedy w trakcie przetwarzania są one stosowane - przed wprowadzeniem do klasyfikatora lub podczas (tj. Technika jest w klasyfikatorze).
Najlepszym przykładem tego drugiego może być sprytna technika „trójdrożnego rozgałęziania” stosowana w drzewach decyzyjnych.
Bez wątpienia pierwsza kategoria jest znacznie większa. Znane mi techniki należą do jednej z poniższych grup.
Podczas niedawnego przeglądania moich osobistych notatek na temat „obsługi brakujących danych” zauważyłem, że mam dość imponującą listę technik. Po prostu przechowuję te notatki dla ogólnego spokoju i na wypadek, gdyby młodszy kolega zapytał mnie, jak radzić sobie z brakującymi danymi. W rzeczywistości nie używam żadnego z nich, z wyjątkiem ostatniego.
Imputacja : szeroka rubryka dla zestawu technik, których wspólnym mianownikiem (uważam) jest to, że brakujące dane są dostarczane bezpośrednio przez ten sam zestaw danych - podstawianie, a nie szacowanie / przewidywanie.
Rekonstrukcja : oszacuj brakujące punkty danych za pomocą sieci auto-asocjacyjnej (tylko sieć neuronowa, w której rozmiary warstw wejściowych i wyjściowych są równe - innymi słowy, dane wyjściowe mają taki sam wymiar jak dane wejściowe); chodzi tutaj o to, aby wyszkolić tę sieć na kompletnych danych, a następnie podać jej niekompletne wzorce i odczytać brakujące wartości z węzłów wyjściowych.
Bootstrapping : (podsumowanie nie jest konieczne, nie powinienem myśleć, biorąc pod uwagę jego zastosowanie w analizie statystycznej).
Odmowa : po cichu usuń punkty danych z brakującymi / uszkodzonymi elementami z zestawu treningowego i udawaj, że nigdy nie istniały.
modern
technik? Dzięki
mice
zawiera fajny dokument wprowadzający na temat JSS: jstatsoft.org/article/view/v045i03 . (Wprowadzenie powinno być przydatne, nawet jeśli nie używasz R.) A pakiet R Amelia
ma ładną winietę, która jest dołączona do pakietu. Te dwa pakiety różnią się szczegółami, ale oba wykorzystują wielokrotne przypisywanie.