Napjainkban a világ legértékesebb erőforrása már nem az olaj, hanem az adatok. A vizualizáció egyre fontosabb eszközzé válik az adatsorok milliárdjainak értelmezéséhez. Az adatok könnyen értelmezhető grafikus ábrázolássá történő lefordításával az adatvizualizáció elősegíti az adatok történetmesélését azáltal, hogy kiemeli a releváns információkat, mintákat és kiugró értékeket. Az adatoknak és a grafikának azonban együtt kell működnie: ez a nagyszerű elemzés és a nagyszerű történetmesélés művészete. Ebben a blogbejegyzésben bemutatjuk a "Sea Born"-t, az egyik legismertebb Pythonban írt vizualizációs eszközt.
Vizualizációs eszközök
Vizualizációs eszközöket használunk a trendek, minták, kiugró értékek és a változók közötti kapcsolat megjelenítésére. Ez egy nagyon igényes készség, különösen az adattudományi karrier számára.
Seaborn
A Seaborn egy Python adatvizualizációs könyvtár, amely a matplotlib alapú. Magas szintű felületet biztosít vonzó és informatív statisztikai grafikák rajzolásához.
Tengeri ábrázolási függvények:
A seabornben 3 parcellakategóriánk van
-
Kategorikus cselekmények.
-
Elosztási telkek.
-
Relációs telkek.
Kategorikus cselekmények
A seaborn kategorikus ábrázolási függvényeit használjuk egy kategorikus változó tendenciáinak vizualizálására, vagy két változó kapcsolatának megjelenítésére legalább egy kategorikussal.
Cselekmény számlálása:
- Megmutatja az egyes kategóriák megfigyeléseinek számát a kategorikus változóból. Egyszerűen megszámoljuk a változó egyes kategóriáihoz tartozó megfigyelések számát
seaborn.catplot(kind = 'count',
data = dataset,
x = 'variable')
Bár telek:
-
Egy téglalap magasságú folytonos változó tendenciájának becslését jelenti egy kategorikus változó minden kategóriájára vonatkozóan. Tehát az ábrázoló függvény két változót vesz fel bemenetként, egyet folyamatos, a másikat pedig kategorikus. A változó_1 minden kategóriájára kiszámítjuk a_2 változó tendenciáját.
-
A tendencia lehet az átlag, a szórás, vagy átadhat valamilyen egyedi függvényt…
seaborn.catplot(kind = 'bar',**data = dataset,**
x = 'variable_1',**y = 'variable_2',**
estimator = np.mean)**
Fényképsáv vázlat:
- A Strip plot az egyik legegyszerűbb és legegyszerűbb diagram az adatvizualizációban, egyszerűen csak pontokat rajzolunk, amelyek egy folytonos változó értékeit képviselik. Az 1. változó minden kategóriájához a 2. változó értékeit rajzoljuk meg.
seaborn.catplot(kind = 'strip',
data = dataset,
x = 'variable_1',
y = 'variable_2',
jitter = 0.15)
Raj telek:
-
A Swarm plot annyira hasonlít a szalagos területhez, mivel pontosan ugyanazt a funkciót tartalmazza. Az egyetlen különbség a pontok megjelenítésében van. Míg a sávdiagramban az adatpontok átfedhetik egymást, mivel véletlenszerűen kerülnek az x tengelyre, addig a raj diagramban egymásra helyezve gondoskodunk arról, hogy a pontok ne fedjék egymást.
-
Itt az a hátránya, hogy ha sok adatpontunk van, lehetetlen lenne nem fedni őket, ezért az algoritmus töröl néhány adatpontot, hogy ne fedjék át egymást.
seaborn.catplot(kind = 'swarm',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Box telek:
-
A Box plot a folytonos változó eloszlásának ábrázolására szolgál egy kategorikus változó minden kategóriájához. Annak ellenére, hogy nagyon egyszerű, sok információt ad:
-
A kvartilisek értékei:
A doboz belsejében egy vízszintes vonal található, amely a mediánt jelöli. A fenti vízszintes vonal a felső, az alatta lévő az alsó kvartilis.
- A kiugró értékek:
Figyeljük meg, hogy a kereten kívül van néhány pont, ezek a pontok a kiugró értékeket jelentik
seaborn.catplot(kind = 'box',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Hegedűs cselekmény:
Az elosztódoboz ábrázolása helyett a hegedűs ábrázolás a folytonos változó tényleges eloszlását ábrázolja a kategorikus változó egyes kategóriáihoz a KDE (kernelsűrűség-becslés) segítségével.
seaborn.catplot(kind = 'violin',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Elterjedési telkek:
A folytonos változók eloszlásának vizualizálására a seaborn eloszlási ábrázolási függvényeit használjuk.
A cselekménye:
A hiszt diagram a folytonos változók eloszlását reprezentálja bins használatával.
seaborn.distplot(kind = 'hist',
data = dataset,
x = 'variable',
bins = 20)
KDE plot:
A Kde plot az adatok tényleges eloszlását jelenti a Kernel Density Estimation segítségével.
seaborn.distplot(kind = 'kde',
data = dataset,
x = 'variable')
Két folytonos változó kétváltozós eloszlásának ábrázolására is használható.
seaborn.distplot(kind = 'kde',
data = dataset,
x = 'variable_1',
y = 'variable_2')
ECDF telek:
Az ECDF plot egy folytonos változó empirikus kumulatív eloszlását reprezentálja.
seaborn.distplot(kind = 'ecdf',
data = dataset,
x = 'variable')
Relációs parcellák:
A folytonos változók közötti kapcsolat megjelenítésére a seaborn relációs ábrázolási függvényeit használjuk.
Szórványdiagram:
- Megmutatja a kapcsolatot két folytonos változó között az összes adatpont egyszerű ábrázolásával.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Vonalábra:
- A változók közötti kapcsolatot folyamatos függvényként ábrázolja.
seaborn.relplot(kind = 'line',
data = dataset,
x = 'variable_1',
y = 'variable_2')
További funkciók:
Talán észrevette, hogy az összes ábrázolási függvényben maximum két változót használtunk diagramonként, de mi van, ha több változót szeretnénk bevezetni a vizualizációnkba? Szerencsére Seaborn gondoskodott erről:
Színárnyalat:
- A színárnyalat használatával bevezethetünk egy 3. változót, amely kategorikus a színkódolást használó vizualizációnkhoz, ami azt jelenti, hogy a 3. változó azonos kategóriájába tartozó adatpontok azonos színűek lesznek.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
hue = 'variable_3')
Méret:
- A méret hasonló a színárnyalathoz, de a színkódolás helyett méretkódolást használ. Ez azt jelenti, hogy a 3. változó azonos kategóriájába tartozó adatpontok azonos méretűek lesznek. A különböző méretek különböző kategóriákat jelentenek.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
size = 'variable_3',
sizes = [50, 100])
Stílus:
- Nagyjából ugyanaz, mint a Hue és Size, Ez azt jelenti, hogy a 3. változó azonos kategóriájába tartozó adatpontok ugyanazzal az egyedi stílussal rendelkeznek. A pontstílus lehet pont, csillag, kereszt, háromszög,… jelölőknek hívjuk.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
style = 'variable_3',
markers = ['X', '*'])
Egy új kategorikus változót is bevezethetünk többszörös diagramok használatával, minden plot a kategória kategóriás változóból egy kategóriába tartozik:
Kol:
Sok ábrát hoz létre vízszintesen a 3. változó kategóriáihoz képest.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
col = 'variable_3')
Sor:
Sok figurát hoz létre függőlegesen a 3. változó kategóriáihoz képest.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
row = 'variable_3')
Ugyanabban a diagramban használhatjuk a Hue és Size paramétereket is, hogy 4 változót ábrázoljunk, vagy akár a Hue and Style és Col-t is, hogy 5 változót használjunk ugyanabban a diagramban! Akár 7 változót is használhatunk (1. változó, 2. változó, színárnyalat, méret, stílus, oszlop, sor) ugyanabban a diagramban, de ez egy nagyon feltöltött diagramot ad, ami annyira rendetlen és rendkívül nehezen értelmezhető, néha nem. informatív egyáltalán.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
hue = 'variable_3',
size = 'variable_4')
Következtetés:
Ebben a bejegyzésben megismertük a seaborn-t, annak 3 ábrázolási függvény-kategóriáját: Kategorikus, Eloszlási és Relációs diagramokat, és minden egyes kategóriához elmagyaráztuk az egyes ábrázolási függvényeket, a python kóddal együtt.
Nézze meg Data Science Bootcamp oldalunkat, ha többet szeretne megtudni erről a témáról!