Czy analiza danych eksploracyjnych jest ważna w przypadku modelowania czysto predykcyjnego?


23

Po co budować model predykcyjny przy użyciu technik uczenia maszynowego, po co przeprowadzać eksploracyjną analizę danych (EDA)? Czy można przejść od razu do generowania obiektów i budowania modeli? Jak ważne są statystyki opisowe stosowane w EDA?


6
Pytasz o „eksploracyjną analizę danych”, ale dołączasz także [descriptive-statistics]tag, a Twoim ostatecznym pytaniem jest, czy statystyki opisowe są ważne. Czy w tym kontekście masz na myśli obliczanie różnych statystyk opisowych, gdy wspominasz o EDA, czy pytasz o statystyki opisowe i EDA? Pytam, ponieważ wiele osób (w tym ja) uważa EDA za coś więcej niż tylko statystyki opisowe.
gung - Przywróć Monikę

Czym dokładnie jest „generowanie funkcji”? Czy to nie jest proces eksploracyjny?
einar

5
Ostatnio otrzymałem 224 obserwacje od 37 osób. Planowałem zbadać, między innymi, wpływ płci / płci, kiedy analiza opisowa powiedziała mi, że było 36 kobiet i 1 mężczyzna. Z powodu tej statystyki opisowej pominąłem wszystkie analizy związane z płcią / płcią. Było to dla mnie ważne, ponieważ opisy wpłynęły na proces budowy modelu. Więcej na temat tych danych tutaj stats.stackexchange.com/questions/352015/…
Bernhard

Odpowiedzi:


47

Niedawno miałem zadanie wywiadu na stanowisko związane z nauką danych. Dostałem zestaw danych i poproszono mnie o zbudowanie modelu predykcyjnego, aby przewidzieć pewną zmienną binarną, biorąc pod uwagę pozostałe, z ograniczeniem czasowym wynoszącym kilka godzin.

Przeanalizowałem kolejno każdą ze zmiennych, grafując je, obliczając statystyki podsumowujące itp. Obliczałem również korelacje między zmiennymi numerycznymi.

Wśród rzeczy, które znalazłem były:

  • Jedna zmienna kategoryczna prawie idealnie pasowała do celu.
  • W dwóch lub trzech zmiennych brakowało ponad połowy ich wartości.
  • Kilka zmiennych miało skrajne wartości odstające.
  • Dwie zmienne liczbowe były doskonale skorelowane.
  • itp.

Chodzi mi o to, że były to rzeczy, które zostały celowo wprowadzone, aby sprawdzić, czy ludzie je zauważą, zanim spróbują zbudować model. Firma zastosowała je, ponieważ są to rzeczy, które mogą się zdarzyć w prawdziwym życiu i drastycznie wpływają na wydajność modelu.

Tak więc, EDA jest ważna podczas uczenia maszynowego!


8
Kiedy przydzielam studentom zadania, też często to robię ;-).
Gung - Przywróć Monikę

14

Oczywiście tak.

Analiza danych może doprowadzić do wielu punktów, które mogłyby zaszkodzić Twojemu modelowi predykcyjnemu:

Niekompletne dane

Zakładając, że mówimy o danych ilościowych, musisz zdecydować, czy chcesz zignorować kolumnę (jeśli brakuje zbyt wielu danych), czy ustalić, jaka będzie twoja „domyślna” wartość (średnia, tryb itd.). Nie możesz tego zrobić bez uprzedniej eksploracji danych.

Nieprawidłowe dane

Załóżmy, że masz dane, które są dość silnie skorelowane, ale 2% twoich danych jest dalekie od tej korelacji. Możesz całkowicie usunąć te dane, aby pomóc w modelu predykcyjnym

Usuń kolumny ze zbyt dużą korelacją

Ok, to trochę sprzeczne z moim poprzednim punktem, ale angielski nie jest moim głównym językiem, więc mam nadzieję, że zrozumiesz.

Podam głupi przykład, powiedz, że analizujesz zestaw danych stadionu piłkarskiego i masz Width, Length, Areaparametry. Możemy sobie łatwo wyobrazić, że te trzy parametry będą silnie skorelowane. Zbyt duża korelacja między kolumną prowadzi model predykcyjny w złym kierunku. Możesz zdecydować się na spłukanie jednego lub więcej parametrów.

Znajdź nowe funkcje

Podam przykład małego „Konkursu” Titanica Kaggle . Patrząc na nazwiska ludzi, możesz dowiedzieć się, że możesz wyodrębnić funkcję Titledanej osoby. Ta funkcja okazuje się być bardzo ważna, jeśli chodzi o modelowanie, ale przegapiłbyś ją, gdybyś najpierw nie przeanalizował danych.

Możesz zdecydować się na binowanie ciągłych danych, ponieważ wydaje się to bardziej odpowiednie lub zmienić funkcję ciągłą w kategoryczną.

Znajdź jakiego algorytmu użyć

Nie mogę teraz rysować wykresów, ale niech to będzie prosty przykład.

Wyobraź sobie, że masz mały model z jedną kolumną cech i jedną binarną (tylko 0 lub 1) kolumną „wynik”. Chcesz utworzyć predykcyjny model klasyfikacji dla tego zestawu danych.

Jeśli, jeszcze raz jako przykład, nakreślisz go (tak, przeanalizuj swoje dane), możesz zdać sobie sprawę, że wykres tworzy idealne koło wokół twojej 1 wartości. W takim scenariuszu byłoby całkiem oczywiste, że można użyć klasyfikatora wielomianowego, aby mieć świetny model zamiast skakać prosto do DNN. (Oczywiście biorąc pod uwagę, że w moim przykładzie są tylko dwie kolumny, nie jest to doskonały przykład, ale rozumiesz o co chodzi)

Ogólnie rzecz biorąc, nie można oczekiwać, że model predykcyjny będzie działał dobrze, jeśli nie spojrzy się najpierw na dane.


8

Jedną ważną rzeczą zrobioną przez EDA jest znalezienie błędów wprowadzania danych i innych anomalnych punktów.

Innym jest to, że rozkład zmiennych może wpływać na modele, które próbujesz dopasować.


8

Kiedyś mieliśmy wyrażenie w chemii:

Dwa tygodnie spędzone w laboratorium pozwalają zaoszczędzić dwie godziny w Scifinder ”.

Jestem pewien, że to samo dotyczy uczenia maszynowego:

Dwa tygodnie szkolenia w sieci neuronowej mogą zaoszczędzić 2 godziny na analizie danych wejściowych ”.

To są rzeczy, przez które musiałbym przejść przed rozpoczęciem jakiegokolwiek procesu ML.

  • Wykreślić gęstość każdej (ciągłej) zmiennej. W jaki sposób liczby są wypaczone? Czy potrzebuję transformacji dziennika, aby dane miały sens? Jak daleko są wartości odstające? Czy są jakieś wartości, które nie mają sensu fizycznego ani logicznego?
  • Uważaj na NA. Zwykle możesz je po prostu odrzucić, ale jeśli jest ich dużo lub jeśli mają one decydujący wpływ na zachowanie systemu, być może trzeba będzie znaleźć sposób na odtworzenie danych. To może być projekt sam w sobie.
  • Wykreśl każdą zmienną względem zmiennej odpowiedzi. Jaki sens możesz z tego wywnioskować, patrząc na nie okiem? Czy istnieją oczywiste krzywe, które można wyposażyć w funkcje?
  • Oceń, czy potrzebujesz skomplikowanego modelu ML. Czasami regresja liniowa jest wszystkim, czego naprawdę potrzebujesz. Nawet jeśli nie jest, zapewnia dobre dopasowanie podstawowe do modelu ML w celu poprawy.

Poza tymi podstawowymi krokami nie poświęciłbym dużo więcej czasu na przeglądanie danych przed zastosowaniem do nich procesów ML. Jeśli masz już dużą liczbę zmiennych, ich skomplikowane nieliniowe kombinacje stają się coraz trudniejsze nie tylko do znalezienia, ale także do wykreślenia i zrozumienia. Jest to rodzaj rzeczy najlepiej obsługiwanych przez komputer.


6

Perspektywa statystyczna:

Pomijając błędy na etapie modelowania, istnieją trzy prawdopodobne wyniki próby przewidywania bez uprzedniej oceny EAO:

  1. Prognozowanie daje oczywiste nonsensowne wyniki, ponieważ dane wejściowe naruszyły założenia metody prognozowania. Musisz teraz wrócić i sprawdzić dane wejściowe, aby dowiedzieć się, gdzie leży problem, a następnie naprawić problem i powtórzyć analizę. W zależności od charakteru problemu może być nawet konieczna zmiana metod prognozowania. (Co masz na myśli, to jest zmienna kategoryczna ?)
  2. Prognozowanie daje wyniki, które są złe, ale nie są oczywiście złe, ponieważ dane naruszyły założenia w nieco mniej oczywisty sposób. Albo wrócisz i sprawdzisz te założenia (w takim przypadku patrz punkt 1 powyżej), albo zaakceptujesz złe wyniki.
  3. Na szczęście twoje dane wejściowe są dokładnie takie, jak się spodziewałeś (rozumiem, że czasami tak się dzieje), a prognoza daje dobre wyniki ... co byłoby świetne, z wyjątkiem tego, że nie możesz odróżnić tego od # 2 powyżej.

Perspektywa zarządzania projektem:

Rozwiązywanie problemów z danymi może zająć dużo czasu i wysiłku. Na przykład:

  • Dane są brudne i musisz poświęcić czas na opracowanie procesów, aby je wyczyścić. (Na przykład: czas, w którym musiałem kodować autokorekty dla wszystkich osób, które ciągle piszą niewłaściwy rok w styczniu, i dla osób, które wprowadzają datę w polu roku , oraz system, który analizował daty jako MM / DD / RRRR zamiast DD / MM / RRRR.)
  • Musisz zadawać pytania na temat tego, co oznaczają dane, i tylko Joan może na nie odpowiedzieć. Joan wyjeżdża na sześciomiesięczne wakacje, zaczynając dwa tygodnie po rozpoczęciu projektu.
  • Ograniczenia danych uniemożliwiają dostarczenie wszystkiego, co zamierzaliście dostarczyć (por. Przykład Bernharda, że ​​nie jest w stanie przeprowadzić analizy według płci / płci, ponieważ w zestawie danych była tylko jedna kobieta), a Ty / Twoi klienci musicie dowiedzieć się, co z tym zrobić. .

Im wcześniej uda Ci się zidentyfikować takie problemy, tym większe szanse na utrzymanie projektu na szynach, terminowe zakończenie i uszczęśliwienie klientów.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.