Vizualizace dat v Pythonu s Seaborn

python
vizualizace dat
seaborn
Vizualizace dat v Pythonu s Seaborn cover image

V současnosti už nejcennějším zdrojem světa není ropa, ale data. Vizualizace se stává důležitějším nástrojem pro pochopení miliardy řádků dat. Převedením dat do grafické reprezentace, která se snadno interpretuje, vizualizace dat pomáhá při vyprávění dat tím, že zvýrazní relevantní informace, vzory a odlehlé hodnoty. Data a grafika však musí spolupracovat: Je to umění integrovat skvělou analýzu se skvělým vyprávěním. V tomto příspěvku na blogu vám ukážeme „Sea Born“, jeden z nejznámějších vizualizačních nástrojů napsaných v Pythonu.

Vizualizační nástroje

K vizualizaci trendů, vzorců, odlehlých hodnot a vztahů mezi proměnnými používáme vizualizační nástroje. Je to velmi žádaná dovednost, zejména pro kariéru v oblasti datové vědy.

Seaborn

Seaborn je knihovna Python pro vizualizaci dat založená namatplotlib. Poskytuje rozhraní na vysoké úrovni pro kreslení atraktivní a informativní statistické grafiky.

Funkce vykreslování Seaborn:

V seaborn máme 3 kategorie pozemků

  • Kategorické zápletky.

  • Distribuční pozemky.

  • Vztahové zápletky.


Kategorické zápletky

K vizualizaci tendencí kategoriální proměnné nebo k vizualizaci vztahu mezi dvěma proměnnými s alespoň jednou kategoriální používáme kategoriální vykreslovací funkce seaborn.

Počítat spiknutí:

  • Zobrazuje počty pozorování každé kategorie z kategoriální proměnné. Jednoduše spočítáme počet pozorování každé kategorie proměnné
seaborn.catplot(kind = 'count',
                data = dataset,
                x    = 'variable')

Count plot

Barový pozemek:

  • Představuje odhad tendence spojité proměnné s výškou obdélníku pro každou kategorii kategoriální proměnné. Funkce vykreslování tedy bere jako vstup dvě proměnné, jednu spojitou a jednu kategorickou. Pro každou kategorii z proměnné_1 vypočítáme tendenci proměnné_2.

  • Tendence může být průměr, rozptyl nebo můžete předat nějakou vlastní funkci…

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

Bar Plot

Plán pásu:

  • Pásový graf je jedním z nejjednodušších a nejpřímějších grafů ve vizualizaci dat, jednoduše nakreslíme body, které představují hodnoty spojité proměnné. Pro každou kategorii proměnné 1 nakreslíme hodnoty proměnné 2.

Strip Plot

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

Zápletka Swarm:

  • Swarm plot je tak podobný strip plotu, protože má přesně stejnou funkcionalitu. Jediný rozdíl je v tom, jak zobrazuje body. Zatímco v pruhovém grafu se mohou datové body překrývat, protože jsou náhodně umístěny na ose x, v rojovém grafu zajistíme, že se body nebudou překrývat tím, že je naskládáme na sebe.

  • Nevýhodou je, že pokud máme hodně datových bodů, nebylo by možné je nepřekrývat, takže algoritmus některé datové body vymaže, aby se nepřekrývaly.

Swarm Plot

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

Krabicová zápletka:

  • Krabicový graf se používá k reprezentaci distribuce spojité proměnné pro každou kategorii kategoriální proměnné. I když je to docela jednoduché, přináší spoustu informací:

  • Hodnoty kvartilů:

Rámeček má uvnitř vodorovnou čáru, která představuje medián. Vodorovná čára nahoře jsou horní kvartily, ta pod ní jsou dolní kvartily.

  • Odlehlé hodnoty:

Všimněte si, že jsou některé body mimo rámeček, tyto body představují odlehlé hodnoty

Box Plot

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

Houslová zápletka:

Místo vykreslování distribučního boxu vykreslí houslový plot skutečné rozložení spojité proměnné pro každou kategorii kategoriální proměnné pomocí KDE ( Kernel Density Estimation )

Violin Plot

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

Distribuční grafy:

K vizualizaci distribuce spojitých proměnných používáme distribuční vykreslovací funkce seaborn.

Historie:

Hist graf představuje rozložení spojitých proměnných pomocí binů.

Hist Plot

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

Zápletka KDE:

Kde graf představuje skutečnou distribuci dat pomocí odhadu hustoty jádra.

KDE Plot

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

Může být také použit k reprezentaci bivariačního rozdělení dvou spojitých proměnných.

KDE Plot

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

Zápletka ECDF:

ECDF graf představuje empirickou kumulativní distribuci spojité proměnné.

ECDF Plot

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

Vztahové zápletky:

K vizualizaci vztahu mezi spojitými proměnnými používáme relační vykreslovací funkce seaborn.

Bodový diagram:

  • Ukazuje vztah mezi dvěma spojitými proměnnými jednoduchým vynesením všech datových bodů.

Scatter Plot

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

Čárová zápletka:

  • Představuje vztah mezi proměnnými jako spojitou funkci.

Line Plot

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

Více funkcí:

Možná jste si všimli, že ve všech vykreslovacích funkcích používáme maximálně dvě proměnné na graf, ale co když chceme do naší vizualizace zavést více proměnných? Naštěstí se o to postaral Seaborn:

Odstín:

  • Pomocí odstínu můžeme zavést 3. proměnnou, která je kategorická pro naši vizualizaci pomocí barevného kódování, to znamená, že datové body, které patří do stejné kategorie této 3. proměnné, budou mít stejnou barvu.

Hue

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

Velikost:

  • Velikost je podobná odstínu, ale místo kódování barev používá kódování velikosti. To znamená, že datové body, které patří do stejné kategorie 3. proměnné, budou mít stejnou jedinečnou velikost. Různé velikosti znamenají různé kategorie.

Size

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

Styl:

  • V podstatě to samé jako odstín a velikost, to znamená, že datové body, které patří do stejné kategorie 3. proměnné, budou mít stejný jedinečný styl. Bodový styl může být tečka, hvězda, křížek, trojúhelník, … říkáme jim značky.

Style

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

Můžeme také zavést novou kategoriální proměnnou pomocí násobných grafů, každý graf patří do kategorie z kategoriální proměnné:

Col:

Vytvoří mnoho obrazců vodorovně s ohledem na kategorie 3. proměnné.

Col

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

Řádek:

Vytvoří mnoho obrazců vertikálně s ohledem na kategorie 3. proměnné.

Row

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

Můžeme také použít odstín a velikost ve stejném grafu, abychom reprezentovali 4 proměnné, nebo dokonce odstín a styl a barvu, abychom použili 5 proměnných ve stejném grafu! Můžeme použít až 7 proměnných (proměnná 1, proměnná 2, odstín, velikost, styl, sloupec, řada) ve stejném grafu, ale poskytne nám to velmi nabitý graf, který je tak chaotický a extrémně obtížně interpretovatelný, někdy ne. informativní vůbec.

Hue & Size

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

Závěr:

V tomto příspěvku jsme se dozvěděli o seaborn, jeho 3 kategoriích vykreslovacích funkcí: kategorické, distribuční a relační grafy a vysvětlili jsme každou vykreslovací funkci pro každou kategorii, spolu s kódem pythonu.

Podívejte se na náš Data Science Bootcamp, kde se dozvíte více o tomto tématu!


Career Services background pattern

Kariérní služby

Contact Section background image

Zůstaňme v kontaktu

Code Labs Academy © 2024 Všechna práva vyhrazena.