Bivariate en multivariate analyse
Spreidingsdiagrammen, pairplots, correlatieheatmaps en gegroepeerde statistieken.
Bivariate en multivariate analyse is een gratis Leer AI met Python-les op CoddyKit. Dit is les 3 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Leer AI met Python. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Leer AI met Python bevat in totaal 4 lessen.
Van één variabele naar meerdere
Bivariate analyse bestudeert de relatie tussen twee variabelen; multivariate analyse kijkt naar meerdere variabelen tegelijk.
Het doel is te ontdekken welke kenmerken samen veranderen, interacties op te sporen en te bepalen welke variabelen voorspellend zijn voor je doelvariabele.
Spreidingsdiagrammen met plt.scatter
Een spreidingsdiagram zet twee numerieke variabelen tegen elkaar uit — elke stip staat voor één rij. Zo worden trends, clusters en uitschieters zichtbaar.
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()Een spreidingsdiagram lezen
Let op de richting (omhoog = positieve relatie, omlaag = negatieve), de sterkte (een smalle band tegenover een verspreide wolk) en de vorm (lineair tegenover gebogen).
Voeg met sns.scatterplot een hue toe om punten per categorie in te kleuren en de groepsstructuur zichtbaar te maken.
sns.scatterplot(x="height", y="weight", hue="gender", data=df, alpha=0.5)
plt.show()Correlatie met df.corr()
df.corr() berekent de paarsgewijze Pearson-correlatie tussen numerieke kolommen: een getal van -1 tot +1.
- +1 → perfecte positieve lineaire relatie
- 0 → geen lineaire relatie
- -1 → perfecte negatieve lineaire relatie
corr = df.corr(numeric_only=True)
print(corr["price"].sort_values(ascending=False))Correlatiewarmtekaarten
Een correlatiematrix is gemakkelijker te lezen als warmtekaart. Geef annot=True mee om de waarden in elke cel weer te geven.
Gebruik een divergerende kleurenschaal, bijvoorbeeld coolwarm, zodat positieve en negatieve correlaties verschillende kleuren krijgen.
corr = df.corr(numeric_only=True)
sns.heatmap(corr, annot=True, fmt=".2f", cmap="coolwarm", center=0)
plt.show()Multicollineariteit herkennen
Wanneer twee kenmerken een zeer hoge correlatie hebben (bijvoorbeeld > 0.9), bevatten ze overbodige informatie. Dit heet multicollineariteit en kan lineaire modellen instabiel maken.
Op de warmtekaart springen zulke overbodige paren eruit, zodat je een van beide kunt verwijderen.
corr = df.corr(numeric_only=True).abs()
high = corr[(corr > 0.9) & (corr < 1.0)]
print(high.dropna(how="all"))Correlatie is geen causaliteit
Een sterke correlatie betekent niet dat de ene variabele de andere veroorzaakt. Beide kunnen worden beïnvloed door een verborgen derde variabele, of het verband kan toevallig zijn.
Gebruik correlatie om hypotheses te formuleren en valideer die vervolgens met domeinkennis en gecontroleerde analyse.
Paarplots met sns.pairplot
sns.pairplot tekent een raster van spreidingsdiagrammen voor elk paar numerieke kolommen, met histogrammen of KDE-grafieken op de diagonaal.
Dit is de snelste manier om alle bivariate relaties tegelijk globaal te bekijken. Beperk het aantal kolommen bij grote gegevenssets — de benodigde rekenkracht schaalt kwadratisch met het aantal kolommen.
sns.pairplot(df[["height", "weight", "age", "income"]], hue="gender")
plt.show()Gegroepeerde boxplots
Om een numerieke variabele te relateren aan een categorische variabele, zet je de categorie op de x-as van een boxplot. Zo vergelijk je direct de verdelingen van verschillende groepen.
sns.boxplot(x="city", y="income", data=df)
plt.xticks(rotation=45)
plt.show()Gegroepeerde aggregaties
Cijfers vullen grafieken aan. Met groupby en agg vat je een numerieke kolom per categorie samen.
Dit is multivariate analyse in tabelvorm — vergelijk gemiddelden, medianen en aantallen naast elkaar.
summary = df.groupby("city")["income"].agg(["mean", "median", "count"])
print(summary.sort_values("mean", ascending=False))Multivariate grafieken met visuele coderingen
Je kunt drie of meer variabelen in één grafiek verwerken met visuele coderingen: x, y, kleur (hue) en grootte.
Zo zie je hoe relaties veranderen in een derde dimensie zonder afzonderlijke grafieken te maken.
sns.scatterplot(x="height", y="weight", hue="age", size="income", data=df)
plt.show()Snelle controle: correlatiebereik
Je voert df.corr() uit en ziet tussen twee kenmerken een waarde van -0.85.
Samenvatting: bivariate en multivariate analyse
Je kunt nu relaties tussen variabelen onderzoeken:
plt.scatter/sns.scatterplotvoor twee numerieke variabelendf.corr()+sns.heatmap(annot=True)voor de correlatiematrix- Hoge correlaties wijzen op multicollineariteit (verwijder overbodige kenmerken)
sns.pairplotvoor een overzicht van alle paren- Gegroepeerde boxplots en
groupby().agg()voor numeriek tegenover categorisch
Vervolgens koppelen we kenmerken rechtstreeks aan de voorspellingsdoelvariabele.
Leer Python met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 53
- Lessen
- 225
Veelgestelde vragen
Is de les “Bivariate en multivariate analyse” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Leer AI met Python, waaronder “Bivariate en multivariate analyse”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Leer AI met Python bevat in totaal 4 lessen.
Wat leer ik in “Bivariate en multivariate analyse”?
Spreidingsdiagrammen, pairplots, correlatieheatmaps en gegroepeerde statistieken. Je oefent met Leer AI met Python door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Leer AI met Python te beginnen?
Ervaring vooraf is niet nodig. Leer AI met Python op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.
Hoe lang duurt de les “Bivariate en multivariate analyse”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Leer AI met Python?
Ja. Elke les over Leer AI met Python bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- EDA-workflow en dataprofielen
- Univariate analyse
- Bivariate en multivariate analyse
- Featureverdeling en doelvariabele analyseren