Leer AI met Python · Les

Univariate analyse

Verdelingsgrafieken, histogrammen, boxplots en countplots om afzonderlijke features te begrijpen.

Les 2 van 413 stappen

Univariate analyse is een gratis Leer AI met Python-les op CoddyKit. Dit is les 2 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.

Wat is univariate analyse?

Univariate analyse onderzoekt telkens één variabele om de verdeling ervan te begrijpen: het centrum, de spreiding, de vorm en ongebruikelijke waarden.

De juiste grafiek hangt af van het type variabele:

  • Numeriek → histogram, KDE, boxplot, vioolplot
  • Categorisch → frequentiegrafiek (staafdiagram van frequenties)

De tekenbibliotheken instellen

We gebruiken Matplotlib (plt) en Seaborn (sns). Seaborn is gebouwd op Matplotlib en heeft prettigere standaardinstellingen voor statistische grafieken.

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

sns.set_theme(style="whitegrid")
df = pd.read_csv("data.csv")

Histogrammen met plt.hist

Een histogram verdeelt numerieke waarden over intervallen en telt hoeveel waarden in elk interval vallen. Zo zie je de algemene vorm van een verdeling.

Het argument bins bepaalt de resolutie — te weinig intervallen verbergen de structuur, te veel voegen ruis toe.

plt.hist(df["age"], bins=30, edgecolor="black")
plt.xlabel("Age")
plt.ylabel("Count")
plt.title("Age Distribution")
plt.show()

KDE-grafieken — vloeiende dichtheid

Een kerneldichtheidsschatting (sns.kdeplot) tekent een vloeiende curve die de verdeling benadert. Die kan gemakkelijker te lezen zijn dan gekartelde histogramstaven.

Combineer beide met sns.histplot(..., kde=True) om de vloeiende curve over de staven heen te leggen.

sns.kdeplot(df["age"], fill=True)
plt.show()

sns.histplot(df["age"], bins=30, kde=True)
plt.show()

Scheefheid herkennen

Scheefheid meet asymmetrie. Een lange staart naar rechts is rechts- (positief) scheef; een lange staart naar links is links- (negatief) scheef.

Inkomens, prijzen en aantallen zijn meestal rechts-scheef. Je kunt de scheefheid kwantificeren met df[col].skew() — waarden die ver van 0 liggen, wijzen op scheefheid.

print(df["income"].skew())   # e.g. 2.3 -> strong right skew
sns.histplot(df["income"], bins=40, kde=True)
plt.show()

Bimodaliteit herkennen

Een bimodale verdeling heeft twee pieken. Dat wijst er vaak op dat twee afzonderlijke groepen door elkaar staan, bijvoorbeeld twee producttypen in één prijskolom.

KDE-grafieken maken bimodaliteit duidelijk zichtbaar — let op twee bulten. Dat kan erop wijzen dat een verborgen categorische variabele de splitsing verklaart.

sns.kdeplot(df["price"], fill=True)
plt.title("Two peaks suggest two subpopulations")
plt.show()

Boxplots met sns.boxplot

Een boxplot toont de mediaan (de middelste lijn), het interkwartielbereik (IQR, de box) en snorren die doorlopen tot ongeveer 1,5 keer de IQR. Punten buiten de snorren worden als uitschieters gemarkeerd.

sns.boxplot(x=df["income"])
plt.title("Income — box plot")
plt.show()

Uitschieters en de IQR-regel

De boxplot gebruikt de IQR-regel: een punt is een uitschieter als het onder Q1 - 1.5*IQR of boven Q3 + 1.5*IQR ligt.

Je kunt de grenzen zelf berekenen om extreme waarden te filteren of af te kappen.

q1 = df["income"].quantile(0.25)
q3 = df["income"].quantile(0.75)
iqr = q3 - q1
low, high = q1 - 1.5*iqr, q3 + 1.5*iqr
outliers = df[(df["income"] < low) | (df["income"] > high)]
print(len(outliers), "outliers")

Vioolplots met sns.violinplot

Een vioolplot combineert een boxplot met een gespiegeld KDE. De breedte op elke hoogte toont de dichtheid, zodat je zowel de vorm als de samenvattende statistieken tegelijk ziet.

Vioolplots zijn zeer geschikt om scheefheid of bimodaliteit zichtbaar te maken die een gewone boxplot zou verbergen.

sns.violinplot(x=df["age"])
plt.title("Age — violin plot")
plt.show()

Frequentiegrafieken voor categorische variabelen

Gebruik voor categorische kolommen sns.countplot — een staafdiagram van de categoriefrequenties. Dit is de visuele vorm van value_counts().

Sorteer de staven op frequentie voor een betere leesbaarheid met het argument order.

order = df["city"].value_counts().index
sns.countplot(y="city", data=df, order=order)
plt.title("Records per city")
plt.show()

De juiste univariate grafiek kiezen

Snelle keuzehulp:

  • Vorm van een numerieke kolom → histogram of KDE
  • Uitschieters en kwartielen → boxplot
  • Vorm en samenvatting samen → vioolplot
  • Categoriefrequenties → frequentiegrafiek

Snelle controle: de juiste grafiek kiezen

Je wilt de mediaan, kwartielen en uitschieters van één numerieke kolom zien.

Samenvatting: univariate analyse

Je hebt geleerd om telkens één variabele te inspecteren:

  • plt.hist en sns.kdeplot voor de vorm van een verdeling
  • .skew() om asymmetrie te kwantificeren; KDE-bulten voor bimodaliteit
  • sns.boxplot en de IQR-regel voor uitschieters
  • sns.violinplot voor vorm en samenvatting samen
  • sns.countplot voor categoriefrequenties

Vervolgens bekijken we relaties tussen twee of meer variabelen.

Gratis beginnen

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 “Univariate analyse” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Leer AI met Python, waaronder “Univariate 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 “Univariate analyse”?

Verdelingsgrafieken, histogrammen, boxplots en countplots om afzonderlijke features te begrijpen. 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 2 van 4.

Hoe lang duurt de les “Univariate 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

  1. EDA-workflow en dataprofielen
  2. Univariate analyse
  3. Bivariate en multivariate analyse
  4. Featureverdeling en doelvariabele analyseren
← Terug naar Leer AI met Python