V súčasnosti už nie je najcennejším zdrojom na svete ropa, ale dáta. Vizualizácia sa stáva dôležitejším nástrojom na pochopenie miliárd riadkov údajov. Prekladom údajov do grafickej reprezentácie, ktorá sa ľahko interpretuje, vizualizácia údajov pomáha pri rozprávaní príbehov údajov zvýraznením relevantných informácií, vzorov a odľahlých hodnôt. Údaje a grafika však musia spolupracovať: Je to umenie integrovať skvelú analýzu so skvelým rozprávaním. V tomto blogovom príspevku vám ukážeme „Sea Born“, jeden z najznámejších vizualizačných nástrojov napísaných v Pythone.
Vizualizačné nástroje
Na vizualizáciu trendov, vzorov, odľahlých hodnôt a vzťahu medzi premennými používame nástroje vizualizácie. Je to veľmi žiadaná zručnosť, najmä pre kariéru v oblasti dátovej vedy.
Seaborn
Seaborn je knižnica na vizualizáciu údajov Pythonu založená na matplotlib. Poskytuje rozhranie na vysokej úrovni na kreslenie atraktívnej a informatívnej štatistickej grafiky.
Funkcie vykresľovania Seaborn:
V seaborn máme 3 kategórie pozemkov
-
Kategorické zápletky.
-
Distribučné pozemky.
-
Vzťahové zápletky.
Kategorické zápletky
Na vizualizáciu tendencií kategorickej premennej alebo na vizualizáciu vzťahu medzi dvoma premennými s aspoň jednou kategorickou premennou používame kategorické vykresľovacie funkcie morského narodenia.
Počítajte zápletku:
- Zobrazuje počty pozorovaní každej kategórie z kategoriálnej premennej. Jednoducho spočítame počet pozorovaní každej kategórie premennej
seaborn.catplot(kind = 'count',
data = dataset,
x = 'variable')
Barový pozemok:
-
Predstavuje odhad tendencie spojitej premennej s výškou obdĺžnika pre každú kategóriu kategorickej premennej. Takže funkcia vykresľovania berie ako vstup dve premenné, jednu, ktorá je spojitá a druhú, ktorá je kategorická. Pre každú kategóriu z premennej_1 vypočítame tendenciu premennej_2.
-
Tendencia môže byť priemer, rozptyl alebo môžete prejsť nejakou vlastnou funkciou...
seaborn.catplot(kind = 'bar',**data = dataset,**
x = 'variable_1',**y = 'variable_2',**
estimator = np.mean)**
Plán pásu:
- Pásový graf je jedným z najjednoduchších a najpriamejších grafov vo vizualizácii údajov, jednoducho nakreslíme body, ktoré predstavujú hodnoty spojitej premennej. Pre každú kategóriu premennej 1 nakreslíme hodnoty premennej 2.
seaborn.catplot(kind = 'strip',
data = dataset,
x = 'variable_1',
y = 'variable_2',
jitter = 0.15)
Zápletka roja:
-
Swarm plot je veľmi podobný strip plotu, pretože má presne rovnakú funkčnosť. Jediný rozdiel je v tom, ako zobrazuje body. Zatiaľ čo v pásovom grafe sa môžu dátové body prekrývať, pretože sú náhodne umiestnené na osi x, v rojovom grafe sa uistíme, že sa body nebudú prekrývať tak, že ich uložíme na seba.
-
Nevýhodou je, že ak máme veľa údajových bodov, nebolo by možné ich neprekrývať, takže algoritmus niektoré údajové body vymaže, aby sa neprekrývali.
seaborn.catplot(kind = 'swarm',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Krabicová zápletka:
-
Rámčekový graf sa používa na znázornenie distribúcie spojitej premennej pre každú kategóriu kategorickej premennej. Aj keď je to celkom jednoduché, prináša veľa informácií:
-
Hodnoty kvartilov:
Škatuľka má vo vnútri vodorovnú čiaru, ktorá predstavuje medián. Vodorovná čiara hore sú horné kvartily, pod ňou sú dolné kvartily.
- Odľahlé hodnoty:
Všimnite si, že sú niektoré body mimo rámčeka, tieto body predstavujú odľahlé hodnoty
seaborn.catplot(kind = 'box',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Huslová zápletka:
Namiesto vykresľovania distribučného boxu, husľový graf vykreslí skutočné rozdelenie spojitej premennej pre každú kategóriu kategorickej premennej pomocou KDE ( Kernel Density Estimation )
seaborn.catplot(kind = 'violin',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Distribučné grafy:
Na vizualizáciu distribúcie spojitých premenných používame funkcie vykresľovania distribúcie morských plodov.
História:
Hist graf predstavuje rozdelenie spojitých premenných pomocou zásobníkov.
seaborn.distplot(kind = 'hist',
data = dataset,
x = 'variable',
bins = 20)
KDE zápletka:
Graf Kde predstavuje skutočnú distribúciu údajov pomocou odhadu hustoty jadra.
seaborn.distplot(kind = 'kde',
data = dataset,
x = 'variable')
Môže sa tiež použiť na reprezentáciu bivariačného rozdelenia dvoch spojitých premenných.
seaborn.distplot(kind = 'kde',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Zápletka ECDF:
ECDF graf predstavuje empirickú kumulatívnu distribúciu spojitej premennej.
seaborn.distplot(kind = 'ecdf',
data = dataset,
x = 'variable')
Vzťahové zápletky:
Na vizualizáciu vzťahu medzi spojitými premennými používame funkcie relačného vykresľovania morských plodov.
Bodový diagram:
- Zobrazuje vzťah medzi dvoma spojitými premennými jednoduchým vykreslením všetkých údajových bodov.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Čiarovkový graf:
- Predstavuje vzťah medzi premennými ako spojitú funkciu.
seaborn.relplot(kind = 'line',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Viac funkcií:
Možno ste si všimli, že vo všetkých funkciách vykresľovania používame maximálne dve premenné na jeden graf, ale čo ak chceme do našej vizualizácie zaviesť viac premenných? Našťastie sa o to postaral Seaborn:
Odtieň:
- Pomocou odtieňa môžeme zaviesť 3. premennú, ktorá je kategorická pre našu vizualizáciu pomocou farebného kódovania, to znamená, že dátové body patriace do rovnakej kategórie tejto 3. premennej budú mať rovnakú farbu.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
hue = 'variable_3')
Veľkosť:
- Veľkosť je podobná odtieňu, ale namiesto farebného kódovania používa kódovanie veľkosti. Znamená to, že dátové body, ktoré patria do rovnakej kategórie 3. premennej, budú mať rovnakú jedinečnú veľkosť. Rôzne veľkosti znamenajú rôzne kategórie.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
size = 'variable_3',
sizes = [50, 100])
Štýl:
- Takmer to isté ako odtieň a veľkosť, to znamená, že dátové body, ktoré patria do rovnakej kategórie 3. premennej, budú mať rovnaký jedinečný štýl. Bodovým štýlom môže byť bodka, hviezda, krížik, trojuholník, ... nazývame ich značky.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
style = 'variable_3',
markers = ['X', '*'])
Novú kategoriálnu premennú môžeme zaviesť aj pomocou násobných grafov, pričom každý graf patrí do kategórie z kategoriálnej premennej:
Col:
Vytvorí veľa obrázkov horizontálne s ohľadom na kategórie 3. premennej.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
col = 'variable_3')
Riadok:
Vytvorí veľa obrázkov vertikálne vzhľadom na kategórie 3. premennej.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
row = 'variable_3')
Môžeme tiež použiť Hue a Size v rovnakom grafe, aby sme reprezentovali 4 premenné, alebo dokonca Hue and Style a Col, aby sme použili 5 premenných v rovnakom grafe! V tom istom grafe môžeme použiť až 7 premenných (premenná 1, premenná 2, odtieň, veľkosť, štýl, stĺpec, riadok), ale získame veľmi nabitý graf, ktorý je tak chaotický a extrémne ťažko interpretovateľný, niekedy nie. informatívne vôbec.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
hue = 'variable_3',
size = 'variable_4')
Záver:
V tomto príspevku sme sa dozvedeli o seaborn, jeho 3 kategóriách vykresľovacích funkcií: kategoriálne, distribučné a relačné grafy a vysvetlili sme každú funkciu vykresľovania pre každú kategóriu, spolu s kódom python.
Pozrite si náš Data Science Bootcamp, kde sa dozviete viac o tejto téme!