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.
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.
Spis Treści
1. Histogram
Do analizy danych numerycznych wystarczy szybki i prosty histogram.
Dlaczego histogram?
Bo pozwala w mgnieniu oka poznać dystrybucję zmiennych numerycznych.
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).
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.
Powyżej już lepiej widać jak bardzo różne gatunki mają różne długości i szerokości płatków PetalLenghtCm
i 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.
Na wykresie powyżej widać silne korelacje między:
PetalLenghtCm
aPetalWidthCm
(96%)PetalLenghtCm
aSepalLenghtCm
(87%)PetalWidthCm
aSepalLenghtCm
(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.