Czy wiesz, że prostota przebija precyzję?

Najciekawsze jest to, że nasze dobre chęci sprawiają, że komplikujemy sobie wszystko. Co z założenia powinno być szybkie i skuteczne staje się długie i prowadzi na manowce.

Pierwszy etap, czyli Eksploracja Danych niczym syrena ciągnie młodych marynarzy na mielizny i tam topi ich w płytkiej wodzie. Toną w gąszczu wykresów i licznych statystyk.

A tak naprawdę są trzy główne cele tego etapu:

  • „poczuć dane”, czyli poznać je na tyle by wiedzieć z czym się zmierzysz,
  • wiedzieć gdzie są mankamenty aby poprawić je przy czyszczeniu danych,
  • znać „silne strony” aby jeszcze bardziej je uwypuklić w etapie tworzenia nowych atrybutów.

Robi się to za pomocą statystyk i wizualizacji.

Wizualizacja jednak sprawia, że eksploracja danych może być naprawdę błyskawiczna. Za chwilę zobaczysz dlaczego, ale zanim to warto przyjrzeć się irysom.

Kwiat Irysa

Tak wygląda kwiat irysa z oznaczeniem pewnych właściwości kwiatu.

Bardzo znany zbiór, który szeroko wykorzystuje się w pierwszych projektach uczenia maszynowego. Posłuży i nam w tym poście.

Mała uwaga, która ustawi nam kontekst i pozwoli Ci też łatwiej pracować na danych.

W zbiorach rozumianych jako zestaw obserwacji (wiersze) z konkretnymi atrybutami (kolumnami) spotkasz  zazwyczaj dwa typy danych:

  • numeryczne (liczby całkowite, rzeczywiste) np. długość płatka, szerokość płatka itp.
  • kategorie (głównie łańcuchy znaków) np. gatunek, rodzaj itp.

To rozróżnienie ułatwia znacząco pracę bo do innego typu danych ma zastosowanie inny wykres.

Skoro tak to zaczynamy nasz Blitzkrieg z 4 wykresami.

1. Histogram

Do analizy danych numerycznych wystarczy szybki i prosty histogram.

Dlaczego histogram?

Bo pozwala w mgnieniu oka poznać dystrybucję zmiennych numerycznych.

Wykres Histogram Dane Numeryczne

Szukamy na histogramie:

  • niezwykłych dystrybucji,
  • odstających wartości, które mogą nie mieć sensu,
  • atrybutów, które powinny być flagą, czyli wartością binarną (0 lub 1),
  • granic, które nie mają sensu,
  • potencjalnych błędów pomiaru.

Na powyższym wykresie interesujące są dwie dystrybucje PetalLenghtCm i PetalWidthCm. Sporo obserwacji na samym początku histogramu (do 2cm) później brak obserwacji (od 2cm do 3cm) i dalej coś co zaczyna przypominać rozkład normalny.

Histogram świetnie się nadaje do danych numerycznych, ale nie ma już zastosowania w kategoriach. Tutaj potrzebny jest inny wykres.

2. Bar Plot

Po naszemu wykres słupkowy. Pokazuje liczebność poszczególnych klas w ramach danej kategorii (czyli kolumnie).

Wykresy: Bar Plot

Szukamy na wykresie słupkowym:

  • różnić pomiędzy konkretnymi słupkami,
  • rzadkich klas, które mogą być w przyszłości powodem przeuczenia modelu.

W naszym zbiorze mamy wyjątkową sytuację ilość 150 obserwacji gdzie każdy gatunek występuje równo po 50 razy. Nie mamy więc żadnej dominującej ani odstającej klasy.

A co jeśli chcemy zaobserwować związek między danymi kategorycznymi a danymi numerycznymi.

3. Box Plot

Wykres pudełkowy, dobrze pokazuje jak zmienna celu jest zależna od atrybutów numerycznych.

Wykresy: Box Plot

Wykresy: Box Plot 2

Powyżej już lepiej widać jak bardzo różne gatunki mają różne długości i szerokości płatków PetalLenghtCmi PetalWidthCm. Dosyć jednoznacznie można dzięki temu rozróżnić Iris-setosa od pozostałych 2 gatunków. Widać wyraźniej dlaczego atrybuty PetalLenghCm i PetalWidthCm miały taką nietypową dystrybucję.

Obydwa są ciekawszymi atrybutami. I jeśli tworzylibyśmy model to byłyby kluczowe w określaniu z jakim gatunkiem mamy do czynienia.

No dobrze to sprawdźmy jaki związek jest pomiędzy tymi a pozostałymi atrybutami numerycznymi. Do tego posłuży następny wykres.

4. Heatmap

Heatmap to wykres do wizualizacji czegoś, co nazywamy korelacją. Bez wchodzenia w szczegóły to badanie związku pomiędzy dwoma atrybutami numerycznymi.

Kilka charakterystyk:

  • pozytywna korelacja, to jeśli jedna zmienna rośnie to i druga rośnie np. rośnie powierzchnia mieszkania rośnie cena,
  • negatywna korelacja, to jeśli jedna zmienna rośnie to druga maleje np. im dłużej na wakacjach jesteś tym mniej pieniędzy masz na koncie,
  • korelacje bliskie -1 i 1 wskazują na silny związek,
  • bliskie 0 na słaby związek,
  • 0 to brak związku.

Dla lepszej prezentacji wartości w konkretnych kwadratach zamieniono na procenty.

Wykresy: Heatmap

Na wykresie powyżej widać silne korelacje między:

  • PetalLenghtCm a PetalWidthCm (96%)
  • PetalLenghtCm a SepalLenghtCm (87%)
  • PetalWidthCm a SepalLenghtCm (82%)

Wspomniane wcześniej zmienne wchodzą w silne korelacje z niemal każdym innym atrybutem numerycznym. Jedynym atrybutem, który słabo jest skorelowany jest SepalWidthCm (kolor niebieski).

Podsumowanie

Błyskawiczne przejście przez 4 wykresy dało nam dobre zrozumienie zbioru danych. Mimo, że jest to zbiór raczej do nauki to schemat w każdym projekcie jest taki sam.

Chcemy szybko i skutecznie zrealizować 3 cele:

  • zrozumieć dane,
  • wskazać miejsca gdzie konieczne będzie jest czyszczenie danych,
  • pokazać gdzie można spróbować stworzyć nowe atrybuty, które jeszcze bardziej poprawią model.

Wszystkie 4 powyższe wykresy pomogą Ci to zrealizować przy minimalnym nakładzie czasu.

I zamiast zastanawiać się jaki wymyślny wykres zastosować, skorzystaj z prostych i sprawdzonych rozwiązań.

Jeśli chcesz dowiedzieć się więcej o tym jak przejść przez projekt uczenia maszynowego w optymalny sposób to, kliknij na UCZENIE MASZYNOWE FUNDAMENT poniżej tego wpisu.