You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Data-Science-For-Beginners/translations/fi/3-Data-Visualization/12-visualization-relationships
leestott b3d803186c
🌐 Update translations via Co-op Translator
4 weeks ago
..
README.md 🌐 Update translations via Co-op Translator 4 weeks ago
assignment.md 🌐 Update translations via Co-op Translator 4 weeks ago

README.md

Suhteiden visualisointi: Kaikki hunajasta 🍯

 Sketchnote by (@sketchthedocs)
Suhteiden visualisointi - Sketchnote by @nitya

Jatkaen tutkimuksemme luontoteemaa, tutustutaan mielenkiintoisiin visualisointeihin, jotka esittävät eri hunajatyyppeihin liittyviä suhteita Yhdysvaltain maatalousministeriön (United States Department of Agriculture) tuottaman datasetin pohjalta.

Tämä noin 600 kohteen datasetti näyttää hunajantuotannon monissa Yhdysvaltain osavaltioissa. Esimerkiksi voit tarkastella mehiläispesien määrää, tuottoa per pesä, kokonaismäärää, varastoja, hintaa per pauna ja hunajan tuotannon arvoa tietyssä osavaltiossa vuosina 19982012, yksi rivi per vuosi jokaiselle osavaltiolle.

Olisi mielenkiintoista visualisoida suhde tietyn osavaltion vuosittaisen tuotannon ja esimerkiksi hunajan hinnan välillä kyseisessä osavaltiossa. Vaihtoehtoisesti voisit visualisoida osavaltioiden hunajan tuoton per pesä. Tämä ajanjakso kattaa tuhoisan 'CCD:n' eli 'Colony Collapse Disorderin', joka havaittiin ensimmäisen kerran vuonna 2006 (http://npic.orst.edu/envir/ccd.html), joten datasetti on merkityksellinen tutkittavaksi. 🐝

Ennakkokysely

Tässä oppitunnissa voit käyttää Seaborn-kirjastoa, jota olet käyttänyt aiemmin, visualisoidaksesi muuttujien välisiä suhteita. Erityisen mielenkiintoinen on Seabornin relplot-toiminto, joka mahdollistaa hajontakaavioiden ja viivakaavioiden nopean luomisen 'tilastollisten suhteiden' visualisoimiseksi, mikä auttaa datatieteilijää ymmärtämään paremmin, miten muuttujat liittyvät toisiinsa.

Hajontakaaviot

Käytä hajontakaaviota näyttääksesi, miten hunajan hinta on kehittynyt vuosittain osavaltioittain. Seabornin relplot ryhmittelee kätevästi osavaltioiden dataa ja näyttää datapisteet sekä kategoriselle että numeeriselle datalle.

Aloitetaan datan ja Seabornin tuonnilla:

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
honey = pd.read_csv('../../data/honey.csv')
honey.head()

Huomaat, että hunajadatassa on useita mielenkiintoisia sarakkeita, kuten vuosi ja hinta per pauna. Tutkitaan tätä dataa ryhmiteltynä Yhdysvaltain osavaltioittain:

osavaltio pesämäärä tuotto/pesä kokonaistuotanto varastot hinta/p tuotantoarvo vuosi
AL 16000 71 1136000 159000 0.72 818000 1998
AZ 55000 60 3300000 1485000 0.64 2112000 1998
AR 53000 65 3445000 1688000 0.59 2033000 1998
CA 450000 83 37350000 12326000 0.62 23157000 1998
CO 27000 72 1944000 1594000 0.7 1361000 1998

Luo perushajontakaavio, joka näyttää hunajan hinnan ja sen alkuperäosavaltion välisen suhteen. Tee y-akselista tarpeeksi korkea, jotta kaikki osavaltiot näkyvät:

sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);

hajontakaavio 1

Näytä nyt sama data hunajan värimaailmalla, joka havainnollistaa hinnan kehitystä vuosittain. Voit tehdä tämän lisäämällä 'hue'-parametrin, joka näyttää muutoksen vuosi vuodelta:

Lue lisää Seabornin väripaleteista - kokeile kaunista sateenkaarivärimaailmaa!

sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);

hajontakaavio 2

Tämän värimaailman muutoksen avulla näet selvästi, että hunajan hinta per pauna on noussut vuosien varrella. Jos tarkastelet datan näytesarjaa varmistaaksesi (valitse esimerkiksi Arizona), näet hintojen nousun vuosi vuodelta, muutamia poikkeuksia lukuun ottamatta:

osavaltio pesämäärä tuotto/pesä kokonaistuotanto varastot hinta/p tuotantoarvo vuosi
AZ 55000 60 3300000 1485000 0.64 2112000 1998
AZ 52000 62 3224000 1548000 0.62 1999000 1999
AZ 40000 59 2360000 1322000 0.73 1723000 2000
AZ 43000 59 2537000 1142000 0.72 1827000 2001
AZ 38000 63 2394000 1197000 1.08 2586000 2002
AZ 35000 72 2520000 983000 1.34 3377000 2003
AZ 32000 55 1760000 774000 1.11 1954000 2004
AZ 36000 50 1800000 720000 1.04 1872000 2005
AZ 30000 65 1950000 839000 0.91 1775000 2006
AZ 30000 64 1920000 902000 1.26 2419000 2007
AZ 25000 64 1600000 336000 1.26 2016000 2008
AZ 20000 52 1040000 562000 1.45 1508000 2009
AZ 24000 77 1848000 665000 1.52 2809000 2010
AZ 23000 53 1219000 427000 1.55 1889000 2011
AZ 22000 46 1012000 253000 1.79 1811000 2012

Toinen tapa visualisoida tätä kehitystä on käyttää kokoa värin sijaan. Värisokeille käyttäjille tämä voi olla parempi vaihtoehto. Muokkaa visualisointiasi näyttämään hinnan nousu pisteen koon kasvuna:

sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspect=.5);

Näet pisteiden koon kasvavan asteittain.

hajontakaavio 3

Onko tämä yksinkertainen tapaus kysynnästä ja tarjonnasta? Ilmastonmuutoksen ja pesien romahtamisen kaltaisten tekijöiden vuoksi hunajaa on ehkä vähemmän saatavilla vuosi vuodelta, ja siksi hinta nousee?

Tutkiaksemme korrelaatiota joidenkin tämän datasetin muuttujien välillä, tarkastellaan viivakaavioita.

Viivakaaviot

Kysymys: Onko hunajan hinnassa per pauna selkeä nousu vuosi vuodelta? Tämä voidaan helposti havaita luomalla yksittäinen viivakaavio:

sns.relplot(x="year", y="priceperlb", kind="line", data=honey);

Vastaus: Kyllä, muutamia poikkeuksia lukuun ottamatta vuoden 2003 tienoilla:

viivakaavio 1

Koska Seaborn yhdistää dataa yhdeksi viivaksi, se näyttää "useat mittaukset kussakin x-arvossa piirtämällä keskiarvon ja 95 %:n luottamusvälin keskiarvon ympärille". Lähde. Tämä aikaa vievä toiminto voidaan poistaa lisäämällä ci=None.

Kysymys: No, vuonna 2003 näkyykö myös hunajan tarjonnassa piikki? Entä jos tarkastelet kokonaistuotantoa vuosi vuodelta?

sns.relplot(x="year", y="totalprod", kind="line", data=honey);

viivakaavio 2

Vastaus: Ei oikeastaan. Jos tarkastelet kokonaistuotantoa, se näyttää itse asiassa kasvaneen kyseisenä vuonna, vaikka yleisesti ottaen hunajan tuotantomäärä on laskussa näinä vuosina.

Kysymys: Siinä tapauksessa, mikä olisi voinut aiheuttaa hunajan hinnan piikin vuoden 2003 tienoilla?

Tämän selvittämiseksi voit tutkia facet grid -kaaviota.

Facet grid -kaaviot

Facet grid -kaaviot ottavat yhden datasetin facetin (tässä tapauksessa voit valita 'vuoden', jotta vältetään liian monien facetien tuottaminen). Seaborn voi sitten tehdä kaavion jokaiselle facetille valituista x- ja y-koordinaateista helpottaakseen vertailua. Erottuuko vuosi 2003 tässä vertailussa?

Luo facet grid jatkamalla relplot-toiminnon käyttöä, kuten Seabornin dokumentaatiossa suositellaan.

sns.relplot(
    data=honey, 
    x="yieldpercol", y="numcol",
    col="year", 
    col_wrap=3,
    kind="line"

Tässä visualisoinnissa voit verrata tuottoa per pesä ja pesien määrää vuosi vuodelta rinnakkain, sarakkeiden wrap-asetuksella 3:

facet grid

Tämän datasetin osalta mikään ei erityisesti erotu pesien määrän ja niiden tuoton osalta vuosi vuodelta ja osavaltioittain. Onko olemassa toinen tapa tarkastella korrelaatiota näiden kahden muuttujan välillä?

Kaksoisviivakaaviot

Kokeile moniviivakaaviota asettamalla kaksi viivakaaviota päällekkäin, käyttämällä Seabornin 'despine'-toimintoa poistaaksesi niiden ylä- ja oikeat reunat, ja käyttämällä ax.twinx-toimintoa Matplotlibista. Twinx mahdollistaa kaavion jakamaan x-akselin ja näyttämään kaksi y-akselia. Näytä tuotto per pesä ja pesien määrä päällekkäin:

fig, ax = plt.subplots(figsize=(12,6))
lineplot = sns.lineplot(x=honey['year'], y=honey['numcol'], data=honey, 
                        label = 'Number of bee colonies', legend=False)
sns.despine()
plt.ylabel('# colonies')
plt.title('Honey Production Year over Year');

ax2 = ax.twinx()
lineplot2 = sns.lineplot(x=honey['year'], y=honey['yieldpercol'], ax=ax2, color="r", 
                         label ='Yield per colony', legend=False) 
sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();

päällekkäiset kaaviot

Vaikka mikään ei erityisesti erotu vuoden 2003 tienoilla, tämä antaa meille mahdollisuuden päättää oppitunti hieman iloisemmalla nuotilla: vaikka pesien määrä on yleisesti laskussa, pesien määrä näyttää vakiintuvan, vaikka niiden tuotto per pesä on laskussa.

Hyvä mehiläiset, jatkakaa!

🐝❤️

🚀 Haaste

Tässä oppitunnissa opit lisää hajontakaavioiden ja viivakaavioiden käytöstä, mukaan lukien facet grid -kaaviot. Haasta itsesi luomaan facet grid -kaavio käyttäen eri datasettiä, ehkä jotain aiemmissa oppitunneissa käyttämääsi. Huomaa, kuinka kauan niiden luominen kestää ja kuinka sinun täytyy olla varovainen facetien määrän kanssa näitä tekniikoita käyttäessäsi.

Jälkikysely

Kertaus & Itseopiskelu

Viivakaaviot voivat olla yksinkertaisia tai melko monimutkaisia. Lue hieman lisää Seabornin dokumentaatiosta eri tavoista, joilla voit rakentaa niitä. Yritä parantaa oppitunnissa luomiasi viivakaavioita dokumentaatiossa mainituilla muilla menetelmillä.

Tehtävä

Sukella mehiläispesään


Vastuuvapauslauseke:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua Co-op Translator. Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäistä asiakirjaa sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä.