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?
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?
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!
Oczywiście tak.
Analiza danych może doprowadzić do wielu punktów, które mogłyby zaszkodzić Twojemu modelowi predykcyjnemu:
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.
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
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.
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ą.
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.
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ć.
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.
Pomijając błędy na etapie modelowania, istnieją trzy prawdopodobne wyniki próby przewidywania bez uprzedniej oceny EAO:
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.
[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.