Automatyczne czyszczenie danych

10

Częstym problemem jest brak dobrej jakości danych ML: błędy w wartościach funkcji, błędne klasyfikacje instancji itp.

Jednym ze sposobów rozwiązania tego problemu jest ręczne przejrzenie danych i sprawdzenie, ale czy istnieją inne techniki? (Założę się, że są!)

Które są lepsze i dlaczego?

andreister
źródło
Google Refine może być warte obejrzenia.
Dimitriy V. Masterov

Odpowiedzi:

6

Zmniejszenie wymiarów za pomocą czegoś takiego jak PCA byłoby pomocne, aby dowiedzieć się o liczbie wymiarów, które są niezbędne do przedstawienia danych.

Aby sprawdzić, czy wystąpiły błędnie sklasyfikowane instancje, możesz wykonać podstawowe k-średnich grupowanie danych, aby dowiedzieć się, jak dobrze Twoje surowe dane pasują do proponowanych kategorii. Chociaż nie jest to automatyczne, wizualizacja na tym etapie byłaby pomocna, ponieważ mózg wzrokowy sam w sobie jest potężnym klasyfikatorem.

Jeśli chodzi o dane, których brakuje, statystyki dysponują już wieloma technikami radzenia sobie z tą sytuacją, w tym imputacją, pobieraniem danych z istniejącego zestawu lub innego zestawu w celu uzupełnienia braków.

jonsca
źródło
3
Rysowanie danych to sprawdzanie ręczne.
andreister
@ andreister Uważam sprawdzanie punkt po punkcie w arkuszu kalkulacyjnym za sprawdzenie ręczne, ale dobrze, widzę, o co ci chodzi.
jonsca
5

Naprawdę nie możesz usunąć znającej się na rzeczy osoby z pętli i oczekiwać rozsądnych rezultatów. Nie oznacza to, że dana osoba musi patrzeć na każdy element z osobna, ale ostatecznie potrzeba pewnej wiedzy, aby wiedzieć, czy podsumowania / wykresy danych są rozsądne. (Na przykład: czy zmienna A może być ujemna, czy zmienna B może być większa niż zmienna A, czy istnieją 4 lub 5 opcji dla zmiennej kategorialnej C?)

Po dokładnym spojrzeniu na dane przez człowieka możesz prawdopodobnie stworzyć szereg reguł, których możesz użyć do automatycznego przetestowania danych. Problem polega na tym, że mogą pojawić się inne błędy, o których nie pomyślałeś. (Na przykład błąd programowy w procesie gromadzenia danych, który powiela zmienną A do zmiennej C.)

Wayne
źródło
Świetna odpowiedź. Dodałbym tylko, aby upewnić się, że składnia użyta do czyszczenia zmiennych jest zachowana w dokumentacji, z komentarzami, jeśli nie opisowymi, o tym, dlaczego wszystko się zmieniło. :)
Michelle,
1

Jeśli wiesz, że Twoje dane nie są całkiem dobre, zawsze dobrze jest sprawdzić wartości odstające. Przez większość czasu występują anomalie.

Jeśli masz wiele funkcji, zmniejszenie wymiarów jest koniecznością. PCA jest do tego dość wydajny.

Jeśli brakuje Ci danych, możesz użyć imputacji lub interpolacji, ale jeśli twoje potrzeby na to pozwalają, zwycięskim przypadkiem jest zastosowanie filtrowania grupowego.

vonPetrushev
źródło