Nykyään maailman arvokkain luonnonvara ei ole enää öljy, vaan data. Visualisoinnista on tulossa entistä tärkeämpi työkalu miljardien tietorivien ymmärtämisessä. Kääntämällä tiedot graafiseksi esitykseksi, jota on helppo tulkita, datan visualisointi auttaa tiedonkerronnassa korostamalla asiaankuuluvia tietoja, malleja ja poikkeavuuksia. Datan ja grafiikan on kuitenkin toimittava yhdessä: se on taitoa yhdistää upea analyysi upeaan tarinankerrontaan. Tässä blogikirjoituksessa näytämme sinulle "Sea Bornin", joka on yksi tunnetuimmista Pythonissa kirjoitetuista visualisointityökaluista.
Visualisointityökalut
Käytämme visualisointityökaluja trendien, kuvioiden, poikkeamien ja muuttujien välisten suhteiden visualisointiin. Se on erittäin kysytty taito erityisesti datatieteen uralla.
Seaborn
Seaborn on Python-datan visualisointikirjasto, joka perustuu [matplotlib]:iin (https://matplotlib.org). Se tarjoaa korkean tason käyttöliittymän houkuttelevan ja informatiivisen tilastografiikan piirtämiseen.
Seaborn piirustusfunktiot:
Seabornissa meillä on 3 luokkaa tontteja
-
Kategoriset juonet.
-
Jakelutontit.
-
Suhteellinen juoni.
Kategoriset juonet
Käytämme seabornin kategorisia piirtofunktioita visualisoidaksemme kategorisen muuttujan suuntauksia tai visualisoidaksemme kahden muuttujan välistä suhdetta vähintään yhdellä kategorisella muuttujalla.
Laske tontti:
- Näyttää kunkin luokan havaintojen lukumäärän kategorisesta muuttujasta. Laskemme vain muuttujan kunkin luokan havaintojen lukumäärän
seaborn.catplot(kind = 'count',
data = dataset,
x = 'variable')
Baarijuonti:
-
Edustaa jatkuvan muuttujan trendin arviota suorakulmion korkeudella kategorisen muuttujan kunkin luokan osalta. Joten piirtofunktio ottaa kaksi muuttujaa syötteenä, yhden jatkuvan ja toisen kategorisen. Laskemme muuttujan_1 kullekin luokalle muuttujan_2 trendin.
-
Tendenssi voi olla keskiarvo, varianssi tai voit välittää jonkin mukautetun funktion…
seaborn.catplot(kind = 'bar',**data = dataset,**
x = 'variable_1',**y = 'variable_2',**
estimator = np.mean)**
Strip tontti:
- Strip plot on yksi yksinkertaisimmista ja yksinkertaisimmista kaavioista tietojen visualisoinnissa. Piirrämme yksinkertaisesti pisteet, jotka edustavat jatkuvan muuttujan arvoja. Piirrämme muuttujan 2 arvot kullekin muuttujan 1 luokalle.
seaborn.catplot(kind = 'strip',
data = dataset,
x = 'variable_1',
y = 'variable_2',
jitter = 0.15)
Parven juoni:
-
Swarm plot on niin samanlainen kuin kaistale, koska sillä on täsmälleen samat toiminnot. Ainoa ero on siinä, miten se näyttää pisteet. Kun liuskakuvaajassa datapisteet voivat mennä päällekkäin, koska ne on asetettu satunnaisesti x-akselille, parvikuvaajassa varmistamme, että pisteet eivät mene päällekkäin pinoamalla ne päällekkäin.
-
Haittapuolena tässä on se, että jos meillä on paljon datapisteitä, olisi mahdotonta olla päällekkäin, joten algoritmi poistaa joitakin datapisteitä, jotta ne eivät mene päällekkäin.
seaborn.catplot(kind = 'swarm',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Laatikkojuonti:
-
Laatikkokaaviota käytetään edustamaan jatkuvan muuttujan jakautumista kategorisen muuttujan jokaiselle luokalle. Vaikka se on melko yksinkertainen, se antaa paljon tietoa:
-
Kvartiilien arvot:
Laatikon sisällä on vaakasuora viiva, joka edustaa mediaania. Yllä oleva vaakasuora viiva on ylemmät kvartiilit, sen alapuolella oleva alemmat kvartiilit.
- Poikkeamat:
Huomaa, että laatikon ulkopuolella on joitain pisteitä, nämä pisteet edustavat poikkeavia arvoja
seaborn.catplot(kind = 'box',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Viulun juoni:
Jakelulaatikon piirtämisen sijaan viulukaavio piirtää jatkuvan muuttujan todellisen jakauman kategorisen muuttujan kullekin luokalle käyttämällä KDE:tä (ydintiheyden arviointi).
seaborn.catplot(kind = 'violin',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Levityskaaviot:
Käytämme seabornin jakauman piirtofunktioita jatkuvien muuttujien jakauman visualisointiin.
Hänen juoni:
Hist-diagrammi edustaa jatkuvien muuttujien jakaumaa laatikoiden avulla.
seaborn.distplot(kind = 'hist',
data = dataset,
x = 'variable',
bins = 20)
KDE-juoni:
Kde-kaavio edustaa tietojen todellista jakautumista ytimen tiheyden estimaatiolla.
seaborn.distplot(kind = 'kde',
data = dataset,
x = 'variable')
Sitä voidaan käyttää myös kahden jatkuvan muuttujan kaksimuuttujajakauman esittämiseen.
seaborn.distplot(kind = 'kde',
data = dataset,
x = 'variable_1',
y = 'variable_2')
ECDF-juoni:
ECDF-kaavio edustaa jatkuvan muuttujan empiiristä kumulatiivista jakaumaa.
seaborn.distplot(kind = 'ecdf',
data = dataset,
x = 'variable')
Suhdekuvat:
Käytämme seabornin relaatiopiirtofunktioita visualisoidaksemme jatkuvien muuttujien välistä suhdetta.
Sirontakaavio:
- Se näyttää kahden jatkuvan muuttujan välisen suhteen yksinkertaisesti piirtämällä kaikki datapisteet.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Linekuvaaja:
- Edustaa muuttujien välistä suhdetta jatkuvana funktiona.
seaborn.relplot(kind = 'line',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Lisää toimintoja:
Olet ehkä huomannut, että kaikissa piirtofunktioissa olemme käyttäneet enintään kahta muuttujaa kuvaajaa kohden, mutta entä jos haluamme ottaa käyttöön enemmän muuttujia visualisoinnissamme? Onneksi Seaborn hoiti asian:
Värisävy:
- Sävyä käyttämällä voimme ottaa käyttöön 3. muuttujan, joka on kategorinen visualisoinnissamme värikoodauksella, mikä tarkoittaa, että datapisteet, jotka kuuluvat tämän 3. muuttujan samaan luokkaan, ovat samanvärisiä.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
hue = 'variable_3')
Koko:
- Koko on samanlainen kuin sävy, mutta käyttää kokokoodausta värikoodauksen sijaan. Se tarkoittaa, että datapisteet, jotka kuuluvat samaan luokkaan kolmannessa muuttujassa, ovat saman yksilöllisen kokoisia. Eri koot tarkoittavat eri luokkia.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
size = 'variable_3',
sizes = [50, 100])
Tyyli:
- Melkein sama asia kuin sävy ja koko. Se tarkoittaa, että datapisteillä, jotka kuuluvat samaan luokkaan kolmannessa muuttujassa, on sama ainutlaatuinen tyyli. Pistetyyli voi olla piste, tähti, risti, kolmio,… me kutsumme niitä merkeiksi.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
style = 'variable_3',
markers = ['X', '*'])
Voimme myös ottaa käyttöön uuden kategorisen muuttujan käyttämällä moninkertaisia kaavioita, jokainen kuvaaja kuuluu kategoriaan kategoriamuuttujasta:
Kl:
Luo monia lukuja vaakasuunnassa suhteessa 3. muuttujan luokkiin.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
col = 'variable_3')
Rivi:
Luo monia lukuja pystysuunnassa suhteessa 3. muuttujan luokkiin.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
row = 'variable_3')
Voimme myös käyttää sävyä ja kokoa samassa kuvaajassa edustamaan 4 muuttujaa tai jopa Sävyä ja tyyliä ja väriä, jos haluat käyttää 5 muuttujaa samassa kuvaajassa! Voimme käyttää jopa 7 muuttujaa (muuttuja 1, muuttuja 2, värisävy, koko, tyyli, väri, rivi) samassa kuvassa, mutta se antaa meille erittäin varautuneen kaavion, joka on niin sotkuinen ja erittäin vaikea tulkita, joskus ei. informatiivinen ollenkaan.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
hue = 'variable_3',
size = 'variable_4')
Johtopäätös:
Tässä viestissä opimme seabornista, sen kolmesta piirtofunktiokategoriasta: Kategoriset, Jakauma- ja Relaatiokaaviot, ja selitimme kunkin luokan piirtofunktiot yhdessä python-koodin kanssa.
Tutustu Data Science Bootcampiin saadaksesi lisätietoja tästä aiheesta!