Dandanes najdragocenejši vir na svetu ni več nafta, ampak podatki. Vizualizacija postaja vse pomembnejše orodje za razumevanje milijard vrstic podatkov. S prevajanjem podatkov v grafično predstavitev, ki jo je enostavno interpretirati, vizualizacija podatkov pomaga pri pripovedovanju podatkov s poudarjanjem ustreznih informacij, vzorcev in izstopajočih vrednosti. Vendar pa morajo podatki in grafika delovati skupaj: To je umetnost povezovanja odlične analize z odličnim pripovedovanjem zgodb. V tem blogu vam bomo pokazali "Sea Born", eno najbolj znanih orodij za vizualizacijo, napisano v Pythonu.
Orodja za vizualizacijo
Orodja za vizualizacijo uporabljamo za vizualizacijo trendov, vzorcev, izstopajočih vrednosti in razmerja med spremenljivkami. To je zelo iskana veščina, zlasti za kariero v znanosti o podatkih.
Seaborn
Seaborn je knjižnica za vizualizacijo podatkov Python, ki temelji na matplotlib. Zagotavlja vmesnik na visoki ravni za risanje privlačne in informativne statistične grafike.
Funkcije za risanje morja:
V seabornu imamo 3 kategorije parcel
-
Kategorične parcele.
-
Razdelitvene parcele.
-
Relacijske ploskve.
Kategorične ploskve
Za vizualizacijo tendenc kategorične spremenljivke ali za vizualizacijo odnosa med dvema spremenljivkama z vsaj eno kategorično spremenljivko uporabljamo funkcije kategoričnega izrisa seaborn.
Štetje parcele:
- Prikazuje število opazovanj vsake kategorije iz kategorične spremenljivke. Preprosto preštejemo število opazovanj vsake kategorije spremenljivke
seaborn.catplot(kind = 'count',
data = dataset,
x = 'variable')
Parcela bara:
-
Predstavlja oceno tendence zvezne spremenljivke z višino pravokotnika za vsako kategorijo kategorične spremenljivke. Torej funkcija risanja kot vhod sprejme dve spremenljivki, eno, ki je zvezna, in eno, ki je kategorična. Za vsako kategorijo iz spremenljivke_1 izračunamo tendenco spremenljivke_2.
-
Težnja je lahko povprečje, varianca ali pa posredujete neko funkcijo po meri ...
seaborn.catplot(kind = 'bar',**data = dataset,**
x = 'variable_1',**y = 'variable_2',**
estimator = np.mean)**
Strip plot:
- Trakasti izris je eden najpreprostejših in najpreprostejših izrisov v vizualizaciji podatkov, preprosto narišemo točke, ki predstavljajo vrednosti zvezne spremenljivke. Za vsako kategorijo spremenljivke 1 bomo narisali vrednosti spremenljivke 2.
seaborn.catplot(kind = 'strip',
data = dataset,
x = 'variable_1',
y = 'variable_2',
jitter = 0.15)
Zaplet roja:
-
Swarm plot je tako podoben strip plotu, saj ima popolnoma enako funkcionalnost. Edina razlika je v načinu prikaza točk. Medtem ko se pri trakastem izrisu podatkovne točke lahko prekrivajo, ker so naključno postavljene na os x, pri izrisu roja zagotovimo, da se točke ne prekrivajo, tako da jih naložimo eno na drugo.
-
Pomanjkljivost tukaj je, da če imamo veliko podatkovnih točk, bi bilo nemogoče, da se ne bi prekrivale, zato bo algoritem izbrisal nekatere podatkovne točke, da se ne bi prekrivale.
seaborn.catplot(kind = 'swarm',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Škatla:
-
Box plot se uporablja za predstavitev porazdelitve zvezne spremenljivke za vsako kategorijo kategorične spremenljivke. Čeprav je precej preprosta, prinaša veliko informacij:
-
Vrednosti kvartilov:
Okvir ima v notranjosti vodoravno črto, ki predstavlja mediano. Vodoravna črta zgoraj je zgornji kvartil, tista pod njo pa spodnji kvartil.
- Izjeme:
Upoštevajte, da je nekaj točk izven polja, te točke predstavljajo odstopanja
seaborn.catplot(kind = 'box',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Zaplet violine:
Namesto izrisa distribucijske škatle bo violin plot izrisal dejansko porazdelitev zvezne spremenljivke za vsako kategorijo kategorične spremenljivke z uporabo KDE (Ocena gostote jedra).
seaborn.catplot(kind = 'violin',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Razdelitvene parcele:
Za vizualizacijo porazdelitve zveznih spremenljivk uporabljamo funkcije risanja porazdelitve seaborna.
Zgodovina:
Zgodovinski graf predstavlja porazdelitev zveznih spremenljivk z uporabo binov.
seaborn.distplot(kind = 'hist',
data = dataset,
x = 'variable',
bins = 20)
Zasnova KDE:
Graf Kde predstavlja dejansko porazdelitev podatkov z uporabo ocene gostote jedra.
seaborn.distplot(kind = 'kde',
data = dataset,
x = 'variable')
Uporablja se lahko tudi za predstavitev bivariatne porazdelitve dveh zveznih spremenljivk.
seaborn.distplot(kind = 'kde',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Izris ECDF:
Graf ECDF predstavlja empirično kumulativno porazdelitev zvezne spremenljivke.
seaborn.distplot(kind = 'ecdf',
data = dataset,
x = 'variable')
Relacijske ploskve:
Za vizualizacijo odnosa med zveznimi spremenljivkami uporabljamo relacijske funkcije seaborna.
Graf raztrosa:
- Prikazuje razmerje med dvema neprekinjenima spremenljivkama s preprostim izrisom vseh podatkovnih točk.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Črtni izris:
- Predstavlja odnos med spremenljivkami kot zvezno funkcijo.
seaborn.relplot(kind = 'line',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Več funkcij:
Morda ste opazili, da smo v vseh funkcijah risanja uporabljali največ dve spremenljivki na risbo, toda kaj, če želimo v našo vizualizacijo uvesti več spremenljivk? Na srečo je Seaborn poskrbel za to:
Odtenek:
- Z barvnim odtenkom lahko uvedemo 3. spremenljivko, ki je kategorična za našo vizualizacijo z uporabo barvnega kodiranja, kar pomeni, da bodo podatkovne točke, ki pripadajo isti kategoriji te 3. spremenljivke, imele enako barvo.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
hue = 'variable_3')
Velikost:
- Velikost je podobna barvnemu odtenku, vendar uporablja kodiranje velikosti namesto barvnega kodiranja. To pomeni, da bodo podatkovne točke, ki pripadajo isti kategoriji 3. spremenljivke, imele enako edinstveno velikost. Različne velikosti pomenijo različne kategorije.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
size = 'variable_3',
sizes = [50, 100])
Slog:
- Skoraj enako kot odtenek in velikost. To pomeni, da bodo podatkovne točke, ki pripadajo isti kategoriji 3. spremenljivke, imele enak edinstven slog. Slog točke je lahko pika, zvezda, križ, trikotnik, … imenujemo jih markerji.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
style = 'variable_3',
markers = ['X', '*'])
Prav tako lahko uvedemo novo kategorično spremenljivko z uporabo več ploskev, vsaka ploskev pripada kategoriji iz kategorične spremenljivke kategorije:
Col:
Ustvaril bo veliko številk vodoravno glede na kategorije 3. spremenljivke.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
col = 'variable_3')
Vrstica:
Ustvaril bo veliko številk navpično glede na kategorije 3. spremenljivke.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
row = 'variable_3')
Uporabimo lahko tudi Hue in Size v istem grafu, da predstavimo 4 spremenljivke, ali celo Hue in Style in Col, da uporabimo 5 spremenljivk v istem grafu! V istem izrisu lahko uporabimo do 7 spremenljivk (spremenljivka 1, spremenljivka 2, odtenek, velikost, slog, stolpec, vrstica), vendar nam bo to dalo zelo nabit izris, ki je tako grd in ga je izjemno težko interpretirati, včasih tudi ne sploh informativno.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
hue = 'variable_3',
size = 'variable_4')
Zaključek:
V tej objavi smo spoznali seaborn, njegove 3 kategorije funkcij risanja: kategorične, distribucijske in relacijske ploskve, ter razložili vsako funkcijo risanja za vsako kategorijo, skupaj s kodo python.
Oglejte si naš Data Science Bootcamp, če želite izvedeti več o tej temi!