Eksploracyjna analiza danych w 5 krokach

Niezależnie od tego, czy pracujesz jako data scientist, analityk danych, czy statystyk, zrozumienie danych jest kluczem do sukcesu.

Z tego artykułu dowiesz się:
1. Jakie 5 kroków uważam za podstawę wstępnej analizy danych?
2. Czemu rzetelnie przeprowadzona analiza danych jest tak ważna?
3. Co zyskasz standaryzując proces analizy danych?

Nie ma większego znaczenia, jaki jest szczegółowy cel zadania, które wykonujesz. Jeśli Twoim celem jest wnioskowanie parametryczne, to musisz najpierw się nieco „pobrudzić” danymi. Jeśli budujesz model uczenia maszynowego, to będzie on tak dobry, jak dane, którymi go zasilisz.

Co więcej, odpowiednie zrozumienie danych przydaje się również na etapach pośrednich:

  • Zanim przejdziesz do czyszczenia danych, musisz mieć informacje na temat brakujących wartości.
  • Nim rozpoczniesz transformację danych, powinieneś wiedzieć jakiego typu zmienne występują w zbiorze.
  • Przed rozpoczęciem procesu modelowania, musisz sprawdzić, czy w zbiorze znajdują się obserwacje odstające i zmienne o nietypowych rozkładach.

Całość można zatem opisać za pomocą dwóch reguł:

  1. Lepsze zrozumienie danych → lepsze przygotowanie danych.
  2. Lepsze przygotowanie danych → lepsze rezultaty, które osiągniesz.

Zautomatyzuj proces EDA

Jestem wielkim fanem automatyzacji i uwielbiam budować check-listy. Postanowiłem zatem spisać swoje wnioski w postaci listy kroków, które w mojej ocenie wnoszą największą wartość na etapie wczesnej, eksploracyjnej analizy danych (EDA, ang. exploratory data analysis).

Większość z opisywanych przeze mnie technik pochodzi z działu statystyki, który nazywany jest statystyką opisową(ang. descriptive statistics). Techniki te są codziennie wykorzystywane przez specjalistów na całym świecie, co samo w sobie może świadczy o ich wartości i użyteczności.

Jesteś początkujący? Nie wiesz na jaki język programowania się zdecydować? Tu znajdziesz wskazówki, które pomogą Ci w dokonaniu wyboru. 😉

Zanim przejdziesz do dalszej części, pamiętaj proszę, że mechaniczne wykonywanie poszczególnych kroków, bez jednoczesnego zrozumienia procesu, w którym dane zostały wygenerowane, nie przyniesie Ci oczekiwanych rezultatów.

Wyniki, które uzyskasz z pomocą tej listy, traktuj zatem jako materiał pomocniczy, który ułatwi Ci zrozumienia danych i zapewni wsad do procesów: transformacji danych i modelowania.

Krok 1. Poznaj rozmiar analizowanego zbioru

Co zrobić?

Pierwszym i absolutnie podstawowym krokiem jest poznanie rozmiaru zbioru, który będziesz analizować. Niezależnie od tego, gdzie znajdują się dane, sprawdź zarówno liczbę obserwacji, jak i liczbę zmiennych, które je opisują.

Dlaczego?

  • Podejmiesz decyzję m.in. co do narzędzi i sprzętu, który wykorzystasz przy dalszej analizie.
  • Oszacujesz czasochłonność procesu analizy.

Przykład w Python:

df.shape

Krok 2. Rzuć okiem na dane

Co zrobić?

Znając wielkość zbioru, możesz wyświetlić na ekranie swojego komputera przynajmniej próbkę „surowych” danych. Chyba nic nie buduje w taki sposób wyobrażenia o zbiorze jak podgląd danych w postaci tabelarycznej.

Dlaczego?

  • Poznasz strukturę analizowanego zbioru.
  • Ocenisz wstępną przydatność poszczególnych zmiennych w procesie modelowania.

Przykład w Python:

df.head(20)

pandas, dataframe, head, data science, uczenie maszynowe, ai

Krok 3. Zweryfikuj typy poszczególnych zmiennych

Co zrobić?

Poprzedni krok dał Ci ogólne spojrzenie na to, z jakimi zmiennymi będziesz pracować. Podgląd pierwszy kilkudziesięciu obserwacji, nie musi oznaczać, że cały zbiór ma identyczną strukturę. Dlatego teraz upewnij się co do typów poszczególnych zmiennych.

W językach programowania takich jak R, czy Python jest to możliwe z użyciem dosłownie jednej linijki kodu. Jeśli korzystasz z SQL-a, to możesz podejrzeć po prostu strukturę tabeli (ew. tabel).

Dlaczego?

  • Zweryfikujesz jakiego typu zmienne występują w zbiorze (zmienne całkowite, zmiennoprzecinkowe, kategoryczne porządkowe, kategoryczne nominalne, zmienne typu logicznego, daty).
  • Znając typy zmiennych, będziesz wiedzieć, jak podejść do ich ewentualnej transformacji.

Przykład w Python:

df.dtypes

Segmentacja zmiennych kategorycznych, to nietrywialna sprawa. Sprawdź, jak sobie poradziłem z tego typu problemem w projekcie wykonanym z okazji Międzynarodowego Dnia Dziecka. 😉

Krok 4. Zbuduj podstawowe podsumowanie zbioru

Co zrobić?

Zbuduj podsumowanie zmiennych opisujących zbiór, w postaci jednej tabelki. Posłuży Ci ono jako „wsad” do dalszej analizy. Podsumowanie powinno zawierać podstawowe informacje o zmiennych numerycznych, takie jak:

  • Wartości minimalne.
  • Wartości maksymalne.
  • Średnia.
  • Mediana.
  • Drugi (dolny) kwartyl.
  • Trzeci (górny) kwartyl.
  • Odchylenie standardowe.

Dlaczego?

  • Podsumowanie to będzie to punktem wejściowym do dalszej analizy.
  • Dzięki niemu będziesz wiedzieć, na które zmienne należy mieć oko w dalszych krokach.

Przykład w Python:

df.describe()

pandas, dataframe, describe, sztuczna inteligencja

Krok 5. Sprawdź, czy w zbiorze występują braki danych

Co zrobić?

Zbuduj jeszcze jedno podsumowanie. Tym razem skup się na poszukiwaniu brakujących wartości w zbiorze. Sprawdź jakie zmienne zawierają braki i jaka jest ich liczba. Zastanów się również, z czego mogą one wynikać. Pamiętaj przy tym, że w niektórych przypadkach braki danych również mogą być wartościową informacją.

Dlaczego?

  • Niektóre algorytmy są wrażliwe na brakujące wartości. Przed ich użyciem konieczne będzie usunięcie obserwacji zawierających braki lub przeprowadzenie procesu imputacji.
  • Wiedząc, ile braków zawiera dana zmienna, podejmiesz decyzję, czy włączyć ją do modelu. Zmienne zawierające zbyt dużo braków nie będą podlegać imputacji.

Przykład w Python:

nulls_summary = pd.DataFrame(df.isnull().any(), columns=['Nulls'])
nulls_summary['Num_of_nulls [qty]'] = pd.DataFrame(df.isnull().sum())
nulls_summary['Num_of_nulls [%]'] = round((df.isnull().mean()*100),2)
print(nulls_summary)

Pobierz rozszerzoną wersję

Powyższy zestaw rozszerzyłem o dodatkowe 5 kroków. Znajdują się one w poradniku, który udostępniam subskrybentom bloga. Jeśli chcesz otrzymać darmowy poradnik „10 kroków do lepszego zrozumienia danych”, kliknij poniższy link i zapisz się do listy subskrybentów bloga.

Dzięki poradnikowi:

  • ustrukturyzujesz proces eksploracyjnej analizy danych,
  • lepiej zrozumiesz analizowany zbiór,
  • przyspieszysz swą pracę,
  • zaoszczędzisz czas.

>> Zapisz się do newslettera i pobierz darmowy poradnik „10 kroków…” <<

Ponadto, jeśli zapiszesz się do mojego newslettera, będę Cię informować o nowościach na blogu, aktualnych wydarzeniach ze świata Data Science i okresowo będę udostępniać darmowe materiały.

photo: pixabay.com (athree23)

Podobał Ci się ten artykuł?

Jeśli tak, to zarejestruj się, by otrzymywać informacje o nowych wpisach. Dodatkowo w prezencie wyślę Ci bezpłatny poradnik 🙂

Bądź pierwszy, który skomentuje ten wpis!

Dodaj komentarz

Twój adres email nie zostanie opublikowany.


*