Kaksi- ja moniulotteinen analyysi
Pistekaaviot, pair plot -kaaviot, korrelaatioheatmapit ja ryhmitellyt tilastot.
Kaksi- ja moniulotteinen analyysi on ilmainen Oppikaa tekoälyä Pythonilla-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Oppikaa tekoälyä Pythonilla-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Oppikaa tekoälyä Pythonilla-kurssilla on yhteensä 4 oppituntia.
Yhdestä muuttujasta useaan
Kaksimuuttuja-analyysissä tutkitaan kahden muuttujan välistä suhdetta, kun taas monimuuttuja-analyysissä tarkastellaan useita muuttujia samanaikaisesti.
Tavoitteena on selvittää, mitkä ominaisuudet muuttuvat yhdessä, havaita vuorovaikutukset ja päättää, mitkä muuttujat ennustavat kohdemuuttujaa.
Sirontakaaviot funktiolla plt.scatter
Sirontakaaviossa esitetään kaksi numeerista muuttujaa toistensa suhteen — jokainen piste vastaa yhtä riviä. Se paljastaa trendit, ryhmittymät ja poikkeavat arvot.
import matplotlib.pyplot as plt
import seaborn as sns
plt.scatter(df["height"], df["weight"], alpha=0.4)
plt.xlabel("Height")
plt.ylabel("Weight")
plt.show()Sirontakaavion tulkitseminen
Tarkastelkaa suuntaa (ylöspäin = positiivinen yhteys, alaspäin = negatiivinen), voimakkuutta (tiivis vyöhyke tai hajallaan oleva pistepilvi) ja muotoa (lineaarinen tai kaareva).
Lisätkää hue-parametri komennolla sns.scatterplot, jotta pisteet väritetään kategorian perusteella ja ryhmien rakenne tulee näkyviin.
sns.scatterplot(x="height", y="weight", hue="gender", data=df, alpha=0.5)
plt.show()Korrelaatio komennolla df.corr()
df.corr() laskee numeeristen sarakkeiden välisen pareittaisen Pearsonin korrelaation: arvon väliltä -1–+1.
- +1 → täydellinen positiivinen lineaarinen riippuvuus
- 0 → ei lineaarista riippuvuutta
- -1 → täydellinen negatiivinen lineaarinen riippuvuus
corr = df.corr(numeric_only=True)
print(corr["price"].sort_values(ascending=False))Korrelaation lämpökartat
Korrelaatiomatriisia on helpompi lukea lämpökarttana. Antakaa parametrille annot=True arvo True, jotta arvot tulostetaan kunkin solun sisään.
Käyttäkää toisistaan poikkeavia värejä sisältävää värikarttaa (esimerkiksi coolwarm), jotta positiiviset ja negatiiviset korrelaatiot erottuvat toisistaan.
corr = df.corr(numeric_only=True)
sns.heatmap(corr, annot=True, fmt=".2f", cmap="coolwarm", center=0)
plt.show()Multikollineaarisuuden havaitseminen
Kun kahdella ominaisuudella on erittäin suuri korrelaatio (esimerkiksi > 0.9), ne sisältävät päällekkäistä tietoa. Tätä kutsutaan multikollineaarisuudeksi, ja se voi tehdä lineaarisista malleista epävakaita.
Lämpökartasta päällekkäiset parit erottuvat helposti, joten voitte poistaa toisen niistä.
corr = df.corr(numeric_only=True).abs()
high = corr[(corr > 0.9) & (corr < 1.0)]
print(high.dropna(how="all"))Korrelaatio ei tarkoita kausaliteettia
Vahva korrelaatio ei tarkoita, että toinen muuttuja aiheuttaa toisen. Molempien taustalla voi olla piilevä kolmas muuttuja, tai yhteys voi olla sattumaa.
Käyttäkää korrelaatiota hypoteesien muodostamiseen ja varmistakaa ne sitten aihealueen tuntemuksen ja kontrolloidun analyysin avulla.
Parikaaviot funktiolla sns.pairplot
sns.pairplot piirtää ruudukon, jossa on sirontakaavio jokaiselle numeeristen sarakkeiden parille sekä histogrammit tai KDE-kuvaajat diagonaalilla.
Se on nopein tapa tarkastella kaikkia kahden muuttujan välisiä suhteita yhdellä kertaa. Rajoittakaa sarakkeiden määrää suurissa aineistoissa — laskenta kasvaa sarakkeiden määrän neliössä.
sns.pairplot(df[["height", "weight", "age", "income"]], hue="gender")
plt.show()Ryhmitellyt laatikkokaaviot
Kun haluatte tarkastella numeerisen ja kategorisen muuttujan välistä suhdetta, sijoittakaa kategoria laatikkokaavion x-akselille. Näin voitte verrata ryhmien jakaumia välittömästi.
sns.boxplot(x="city", y="income", data=df)
plt.xticks(rotation=45)
plt.show()Ryhmitellyt aggregoinnit
Luvut täydentävät kuvaajia. groupby-komento yhdessä agg-komennon kanssa tekee yhteenvedon numeerisesta sarakkeesta kategorioittain.
Tämä on monimuuttuja-analyysiä taulukkomuodossa — verratkaa keskiarvoja, mediaaneja ja määriä rinnakkain.
summary = df.groupby("city")["income"].agg(["mean", "median", "count"])
print(summary.sort_values("mean", ascending=False))Monimuuttujakuvaajat esityskoodauksilla
Voitte esittää kolme tai useampia muuttujia yhdessä kuvaajassa käyttämällä visuaalisia esityskoodauksia: x, y, väri (hue) ja koko.
Näin näette, miten suhteet muuttuvat kolmannen ulottuvuuden mukaan ilman erillisiä kuvaajia.
sns.scatterplot(x="height", y="weight", hue="age", size="income", data=df)
plt.show()Pikatarkistus: korrelaation vaihteluväli
Suoritatte komennon df.corr() ja näette kahden ominaisuuden välillä arvon -0.85.
Kertaus: kaksi- ja monimuuttuja-analyysi
Osaatte nyt tutkia muuttujien välisiä suhteita:
plt.scatter/sns.scatterplotkahdelle numeeriselle muuttujalledf.corr()+sns.heatmap(annot=True)korrelaatiomatriisille- Suuret korrelaatiot paljastavat multikollineaarisuuden (poistakaa päällekkäiset ominaisuudet)
sns.pairplotkaikkien parien yleiskatsaukseen- Ryhmitellyt laatikkokaaviot ja
groupby().agg()numeerisen ja kategorisen muuttujan vertailuun
Seuraavaksi yhdistätte ominaisuudet suoraan ennustettavaan kohdemuuttujaan.
Opi Python tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 53
- Oppitunnit
- 225
Usein kysytyt kysymykset
Onko oppitunti ”Kaksi- ja moniulotteinen analyysi” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Oppikaa tekoälyä Pythonilla-oppimispolun 3 oppituntia, myös oppitunnin “Kaksi- ja moniulotteinen analyysi”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppikaa tekoälyä Pythonilla-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Kaksi- ja moniulotteinen analyysi”?
Pistekaaviot, pair plot -kaaviot, korrelaatioheatmapit ja ryhmitellyt tilastot. Harjoittelet Oppikaa tekoälyä Pythonilla-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Oppikaa tekoälyä Pythonilla-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Oppikaa tekoälyä Pythonilla-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.
Kuinka kauan ”Kaksi- ja moniulotteinen analyysi”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Oppikaa tekoälyä Pythonilla-oppitunnilla?
Kyllä. Jokainen Oppikaa tekoälyä Pythonilla-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- EDA-työnkulku ja datan profilointi
- Yksiulotteinen analyysi
- Kaksi- ja moniulotteinen analyysi
- Piirteiden jakauman ja kohdemuuttujan analyysi