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?
23
[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.Odpowiedzi:
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:
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!
źródło
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, Area
parametry. 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ę
Title
danej 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.
źródło
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ć.
źródło
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.
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.
źródło
Perspektywa statystyczna:
Pomijając błędy na etapie modelowania, istnieją trzy prawdopodobne wyniki próby przewidywania bez uprzedniej oceny EAO:
Perspektywa zarządzania projektem:
Rozwiązywanie problemów z danymi może zająć dużo czasu i wysiłku. Na przykład:
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.
źródło