Vizualizacija podatkov v Pythonu s Seabornom

python
vizualizacija podatkov
seaborn
Vizualizacija podatkov v Pythonu s Seabornom cover image

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')

Count plot

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)**

Bar Plot

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.

Strip Plot

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.

Swarm Plot

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

Box Plot

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).

Violin Plot

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.

Hist Plot

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

Zasnova KDE:

Graf Kde predstavlja dejansko porazdelitev podatkov z uporabo ocene gostote jedra.

KDE Plot

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

Uporablja se lahko tudi za predstavitev bivariatne porazdelitve dveh zveznih spremenljivk.

KDE Plot

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

Izris ECDF:

Graf ECDF predstavlja empirično kumulativno porazdelitev zvezne spremenljivke.

ECDF Plot

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.

Scatter Plot

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

Črtni izris:

  • Predstavlja odnos med spremenljivkami kot zvezno funkcijo.

Line Plot

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.

Hue

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.

Size

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.

Style

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.

Col

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.

Row

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.

Hue & Size

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!


Career Services background pattern

Karierne storitve

Contact Section background image

Ostanimo v stiku

Code Labs Academy © 2024 Vse pravice pridržane.