Wizualizacja danych w Pythonie z Seabornem

python
wizualizacja danych
seaborn
Wizualizacja danych w Pythonie z Seabornem cover image

W dzisiejszych czasach najcenniejszym zasobem świata nie jest już ropa naftowa, ale dane. Wizualizacja staje się coraz ważniejszym narzędziem pozwalającym zrozumieć miliardy wierszy danych. Tłumacząc dane na graficzną reprezentację, która jest łatwa do interpretacji, wizualizacja danych pomaga w opowiadaniu historii danych, podkreślając istotne informacje, wzorce i wartości odstające. Jednak dane i grafika muszą ze sobą współdziałać: to sztuka łączenia doskonałej analizy ze świetnym opowiadaniem historii. W tym poście na blogu pokażemy Ci „Sea Born”, jedno z najbardziej znanych narzędzi do wizualizacji napisanych w Pythonie.

Narzędzia do wizualizacji

Używamy narzędzi wizualizacyjnych do wizualizacji trendów, wzorców, wartości odstających i relacji między zmiennymi. Jest to umiejętność bardzo pożądana, szczególnie w karierze związanej z analityką danych.

Seaborn

Seaborn to biblioteka do wizualizacji danych w języku Python oparta na matplotlib. Zapewnia interfejs wysokiego poziomu do rysowania atrakcyjnej i pouczającej grafiki statystycznej.

Funkcje kreślenia Seaborn:

W Seaborn mamy 3 kategorie działek

  • Działki kategoryczne.

  • Działki dystrybucyjne.

  • Działki relacyjne.


Działki kategoryczne

Używamy funkcji rysowania kategorycznego seaborn do wizualizacji tendencji zmiennej kategorycznej lub do wizualizacji związku między dwiema zmiennymi z co najmniej jedną zmienną kategoryczną.

Policz wykres:

  • Pokazuje liczbę obserwacji każdej kategorii ze zmiennej kategorycznej. Po prostu liczymy liczbę obserwacji każdej kategorii zmiennej
seaborn.catplot(kind = 'count',
                data = dataset,
                x    = 'variable')

Count plot

Działanka barowa:

  • Reprezentuje ocenę tendencji zmiennej ciągłej o wysokości prostokąta dla każdej kategorii zmiennej kategorycznej. Zatem funkcja wykreślająca przyjmuje jako dane wejściowe dwie zmienne, jedną ciągłą i jedną kategoryczną. Dla każdej kategorii ze zmiennej_1 obliczamy tendencję zmiennej_2.

  • Tendencja może być średnią, wariancją lub możesz przekazać jakąś niestandardową funkcję…

seaborn.catplot(kind = 'bar',**data = dataset,**
                x    = 'variable_1',**y    = 'variable_2',**
                estimator = np.mean)**

Bar Plot

Działanka pasowa:

  • Wykres paskowy to jeden z najprostszych i najprostszych wykresów w wizualizacji danych. Po prostu rysujemy punkty reprezentujące wartości zmiennej ciągłej. Dla każdej kategorii Zmiennej 1 narysujemy wartości Zmiennej 2.

Strip Plot

seaborn.catplot(kind = 'strip',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                jitter = 0.15)

Fabuła roju:

  • Wykres roju jest bardzo podobny do wykresu paskowego, ponieważ ma dokładnie tę samą funkcjonalność. Jedyna różnica polega na sposobie wyświetlania punktów. Podczas gdy na wykresie paskowym punkty danych mogą się nakładać, ponieważ są losowo umieszczane na osi x, na wykresie roju upewniamy się, że punkty nie będą się nakładać, układając je jeden na drugim.

  • Wadą jest to, że jeśli mamy dużo punktów danych, nie da się ich nie nakładać, więc algorytm usunie niektóre punkty danych, aby nie nachodziły na siebie.

Swarm Plot

seaborn.catplot(kind = 'swarm',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

Działanka pudełkowa:

  • Wykres pudełkowy służy do przedstawienia rozkładu zmiennej ciągłej dla każdej kategorii zmiennej kategorycznej. Mimo że jest to dość proste, dostarcza wielu informacji:

  • Wartości kwartylów:

Wewnątrz pudełka znajduje się pozioma linia, która reprezentuje medianę. Pozioma linia powyżej to górne kwartyle, ta poniżej to dolne kwartyle.

  • Wartości odstające:

Zauważ, że poza ramką znajdują się pewne punkty, które reprezentują wartości odstające

Box Plot

seaborn.catplot(kind = 'box',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

Fabuła skrzypiec:

Zamiast wykreślać skrzynkę rozdzielczą, wykres skrzypcowy wykreśli rzeczywisty rozkład zmiennej ciągłej dla każdej kategorii zmiennej jakościowej przy użyciu KDE (Estymacja gęstości jądra)

Violin Plot

seaborn.catplot(kind = 'violin',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

Działki dystrybucyjne:

Używamy funkcji wykreślania rozkładu seaborn do wizualizacji rozkładu zmiennych ciągłych.

Historia fabuły:

Wykres hist przedstawia rozkład zmiennych ciągłych za pomocą przedziałów.

Hist Plot

seaborn.distplot(kind = 'hist',
                 data = dataset,
                 x    = 'variable',
                 bins = 20)

Fabuła KDE:

Wykres Kde przedstawia rzeczywisty rozkład danych przy użyciu szacowania gęstości jądra.

KDE Plot

seaborn.distplot(kind = 'kde',
                 data = dataset,
                 x    = 'variable')

Można go również wykorzystać do przedstawienia dwuwymiarowego rozkładu dwóch zmiennych ciągłych.

KDE Plot

seaborn.distplot(kind = 'kde',
                 data = dataset,
                 x    = 'variable_1',
                 y    = 'variable_2')

Działka ECDF:

Wykres ECDF przedstawia empiryczny skumulowany rozkład zmiennej ciągłej.

ECDF Plot

seaborn.distplot(kind = 'ecdf',
                 data = dataset,
                 x    = 'variable')

Wątki relacyjne:

Używamy relacyjnych funkcji kreślenia seaborn do wizualizacji zależności między zmiennymi ciągłymi.

Wykres punktowy:

  • Pokazuje związek między dwiema zmiennymi ciągłymi poprzez proste wykreślenie wszystkich punktów danych.

Scatter Plot

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

Wykres liniowy:

  • Reprezentuje związek między zmiennymi w postaci funkcji ciągłej.

Line Plot

seaborn.relplot(kind = 'line',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2')

Więcej funkcjonalności:

Być może zauważyłeś, że we wszystkich funkcjach kreślących używamy maksymalnie dwóch zmiennych na wykres, ale co, jeśli chcemy wprowadzić więcej zmiennych do naszej wizualizacji? Na szczęście Seaborn o to zadbał:

Odcień:

  • Używając odcienia, możemy wprowadzić trzecią zmienną, która jest kategoryczna do naszej wizualizacji przy użyciu kodowania kolorów, co oznacza, że ​​punkty danych należące do tej samej kategorii tej trzeciej zmiennej będą miały ten sam kolor.

Hue

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                hue  = 'variable_3')

Rozmiar:

  • Rozmiar jest podobny do odcienia, ale wykorzystuje kodowanie rozmiaru zamiast kodowania koloru. Oznacza to, że punkty danych należące do tej samej kategorii trzeciej zmiennej będą miały ten sam unikalny rozmiar. Różne rozmiary oznaczają różne kategorie.

Size

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                size = 'variable_3',
                sizes = [50, 100])

Styl:

  • Prawie to samo, co Barwa i Rozmiar. Oznacza to, że punkty danych należące do tej samej kategorii trzeciej zmiennej będą miały ten sam unikalny styl. Stylem punktowym może być kropka, gwiazda, krzyżyk, trójkąt… nazywamy je znacznikami.

Style

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                style = 'variable_3',
                markers = ['X', '*'])

Nową zmienną kategoryczną możemy wprowadzić także za pomocą wykresów wielokrotności, każdy wykres należy do kategorii z kategorycznej zmiennej kategorycznej:

Przełęcz:

Stworzy wiele liczb poziomo w odniesieniu do kategorii trzeciej zmiennej.

Col

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                col  = 'variable_3')

Wiersz:

Stworzy wiele liczb w pionie w odniesieniu do kategorii trzeciej zmiennej.

Row

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                row  = 'variable_3')

Możemy również użyć Barwy i Rozmiaru na tym samym wykresie, aby przedstawić 4 zmienne, lub nawet Barwy i Stylu i Col, aby użyć 5 zmiennych na tym samym wykresie! Możemy użyć do 7 zmiennych (zmienna 1, zmienna 2, Hue, Size, Style, Col, Row) na tym samym wykresie, ale da nam to bardzo naładowany wykres, który jest tak niechlujny i niezwykle trudny do zinterpretowania, a czasami nie w ogóle informacyjny.

Hue & Size

seaborn.relplot(kind = 'scatter',
                data = dataset,
                x    = 'variable_1',
                y    = 'variable_2',
                hue  = 'variable_3',
                size = 'variable_4')

Wniosek:

W tym poście dowiedzieliśmy się o seaborn, jego 3 kategoriach funkcji kreślących: wykresach kategorycznych, dystrybucyjnych i relacyjnych, a także wyjaśniliśmy każdą funkcję kreślącą dla każdej kategorii, a wszystko to wraz z kodem Pythona.

Sprawdź nasz Data Science Bootcamp, aby dowiedzieć się więcej na ten temat!


Career Services background pattern

Usługi związane z karierą

Contact Section background image

Pozostańmy w kontakcie

Code Labs Academy © 2024 Wszelkie prawa zastrzeżone.