Leer AI met Python · Les

Bias in ML-modellen detecteren

Beschermde kenmerken, disparate impact, fairlearn-metrieken, equalized odds, demographic parity.

Les 1 van 413 stappen

Bias in ML-modellen detecteren is een gratis Leer AI met Python-les op CoddyKit. Dit is les 1 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 algoritmische vooringenomenheid

Een model is vooringenomen wanneer zijn voorspellingen een groep die wordt gedefinieerd door een gevoelig kenmerk (geslacht, ras, leeftijd) systematisch benadelen. Vooringenomenheid ontstaat vaak door scheve trainingsgegevens en kan echte schade veroorzaken bij werving, kredietverlening of beslissingen in de gezondheidszorg.

Gevoelige kenmerken

Een gevoelig kenmerk is het attribuut waarmee we eerlijkheid meten, zoals geslacht of etniciteit. Eerlijkheidsmetrieken vergelijken het modelgedrag tussen de groepen die dit kenmerk definieert, zelfs als het kenmerk niet als invoer voor het model wordt gebruikt.

Demografische pariteit

Demografische pariteit vereist dat het percentage positieve voorspellingen in alle groepen gelijk is. Als een kredietmodel 60% van groep A goedkeurt, maar slechts 35% van groep B, is de demografische pariteit geschonden, ongeacht de werkelijke kredietwaardigheid van de aanvragers.

# P(prediction = 1 | group = A) == P(prediction = 1 | group = B)

Gelijke odds

Gelijke odds zijn strenger: ze vereisen gelijke percentages echte positieven en valse positieven in alle groepen. Hierbij wordt rekening gehouden met de werkelijke uitkomst, waardoor verschillende selectiepercentages zijn toegestaan zolang het model voor elke groep even nauwkeurig is.

# TPR and FPR equal across groups
# P(pred=1 | y=1, A) == P(pred=1 | y=1, B)
# P(pred=1 | y=0, A) == P(pred=1 | y=0, B)

Pariteit versus odds

Deze metrieken kunnen met elkaar botsen:

  • Demografische pariteit negeert de werkelijke uitkomst en kan daardoor gelijke percentages afdwingen, zelfs wanneer de basispercentages echt verschillen
  • Gelijke odds houden rekening met de werkelijke uitkomst, maar staan verschillende selectiepercentages toe

Geen enkele metriek is universeel de juiste keuze; dat hangt af van de context en de wet.

Kennismaken met fairlearn

fairlearn is een Python-bibliotheek voor het meten en beperken van oneerlijkheid. Het belangrijkste meetinstrument is MetricFrame, dat elke metriek uitgesplitst per gevoelige groep berekent.

import pandas as pd
from fairlearn.metrics import MetricFrame
from sklearn.metrics import accuracy_score, selection_rate

Een MetricFrame bouwen

Je geeft een woordenboek met metrieken, de werkelijke labels, de voorspellingen en de sensitive_features door. fairlearn evalueert elke metriek per groep.

mf = MetricFrame(
    metrics={
        "accuracy": accuracy_score,
        "selection_rate": selection_rate,
    },
    y_true=y_test,
    y_pred=y_pred,
    sensitive_features=X_test["gender"],
)

Resultaten per groep

Het attribuut by_group retourneert een tabel met elke metriek per groep, waardoor verschillen direct zichtbaar worden.

print(mf.by_group)
#            accuracy  selection_rate
# gender
# female        0.81            0.34
# male          0.83            0.59

Totaal en verschillen

fairlearn rapporteert ook samengevoegde overzichten: overall voor de volledige gegevensverzameling en hulpmethoden zoals difference() en ratio(), die het verschil tussen de best en slechtst presterende groepen samenvatten.

print(mf.overall)
print(mf.difference(method="between_groups"))
# selection_rate    0.25  -> 25 point gap between groups

Verschillen visualiseren

Een staafdiagram van by_group zet getallen om in een intuïtief beeld. Een groot verschil tussen balken voor dezelfde metriek is een duidelijke waarschuwing dat het model groepen verschillend behandelt.

mf.by_group.plot.bar(
    subplots=True,
    layout=[1, 2],
    figsize=(10, 4),
    title="Metrics by group",
)

Van detectie naar mitigatie

Nadat je de vertekening hebt gekwantificeerd, biedt fairlearn mitigatie-algoritmen, zoals ExponentiatedGradient en nabewerking met ThresholdOptimizer, die het model opnieuw trainen of drempelwaarden aanpassen om aan een eerlijkheidsvoorwaarde te voldoen. Detectie komt altijd eerst: je kunt niet repareren wat je niet hebt gemeten.

Korte toets

Toets je kennis van eerlijkheid.

Samenvatting

Je hebt geleerd hoe je vertekening detecteert:

  • Demografische pariteit maakt de percentages positieve voorspellingen in alle groepen gelijk
  • Gelijke odds maken TPR en FPR gelijk, onder voorwaarde van de uitkomst
  • fairlearn MetricFrame berekent een woordenboek met metrieken per sensitive_features-groep
  • Visualiseer by_group om verschillen te herkennen en pas daarna mitigatie toe
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 “Bias in ML-modellen detecteren” gratis?

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

Beschermde kenmerken, disparate impact, fairlearn-metrieken, equalized odds, demographic parity. 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 1 van 4.

Hoe lang duurt de les “Bias in ML-modellen detecteren”?

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. Bias in ML-modellen detecteren
  2. SHAP-waarden voor modeluitlegbaarheid
  3. LIME: lokaal interpreteerbare verklaringen
  4. Kaders voor AI-ethiek en governance
← Terug naar Leer AI met Python