0Pricing
Learn AI with Python · Leçon

Détecter les biais dans les modèles d’apprentissage automatique

Attributs protégés, impact disproportionné, métriques fairlearn, égalité des chances, parité démographique.

Détecter les biais dans les modèles d’apprentissage automatique est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.

Qu'est-ce que le biais algorithmique

Un modèle est biaisé lorsque ses prédictions désavantagent systématiquement un groupe défini par un attribut sensible (genre, origine raciale, âge). Le biais provient souvent de données d'entraînement déséquilibrées et peut causer de réels préjudices dans les décisions de recrutement, d'octroi de crédit ou de santé.

Caractéristiques sensibles

Une caractéristique sensible est l'attribut selon lequel nous mesurons l'équité, comme le genre ou l'origine ethnique. Les métriques d'équité comparent le comportement du modèle entre les groupes définis par cette caractéristique, même si celle-ci n'est pas utilisée comme entrée du modèle.

Parité démographique

La parité démographique exige que le taux de prédictions positives soit identique entre les groupes. Si un modèle d’octroi de prêts approuve 60 % des demandes du groupe A, mais seulement 35 % de celles du groupe B, la parité démographique est violée, quelle que soit la solvabilité réelle des demandeurs.

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

Égalité des chances conditionnelles

L’égalité des chances conditionnelles est plus stricte : elle exige des taux identiques de vrais positifs et de faux positifs entre les groupes. Elle tient compte de l’étiquette réelle, ce qui permet des taux de sélection différents tant que le modèle est aussi précis pour chaque groupe.

# 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)

Parité ou égalité des chances conditionnelles

Ces métriques peuvent entrer en conflit :

  • La parité démographique ignore l’étiquette réelle et peut donc imposer des taux égaux même lorsque les taux de base diffèrent réellement
  • L’égalité des chances conditionnelles respecte l’étiquette réelle, mais autorise des taux de sélection inégaux

Aucune métrique n’est universellement correcte ; le choix dépend du contexte et de la législation.

Présentation de fairlearn

fairlearn est une bibliothèque Python qui mesure et atténue les inégalités. Son principal outil de mesure est MetricFrame, qui calcule n’importe quelle métrique en la ventilant selon le groupe sensible.

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

Créer un MetricFrame

Vous transmettez un dictionnaire de métriques, les étiquettes réelles, les prédictions et les caractéristiques sensibles. fairlearn évalue chaque métrique pour chaque groupe.

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

Résultats par groupe

L’attribut by_group renvoie un tableau présentant chaque métrique pour chaque groupe, ce qui rend les disparités immédiatement visibles.

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

Valeurs globales et écarts

fairlearn fournit également des vues agrégées : overall pour l’ensemble des données, ainsi que des fonctions auxiliaires comme difference() et ratio(), qui résument l’écart entre le meilleur et le moins bon groupe.

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

Visualiser les disparités

Un diagramme en barres de by_group transforme les nombres en une représentation intuitive. Un écart important entre les barres correspondant à une même métrique est un signal d’alerte clair indiquant que le modèle traite les groupes différemment.

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

De la détection à l’atténuation

Une fois le biais quantifié, fairlearn propose des algorithmes d’atténuation, comme ExponentiatedGradient, ainsi qu’un post-traitement avec ThresholdOptimizer, qui réentraînent le modèle ou ajustent les seuils afin de respecter une contrainte d’équité. La détection vient toujours en premier : vous ne pouvez pas corriger ce que vous n’avez pas mesuré.

Vérification rapide

Évaluez vos connaissances sur l’équité.

Récapitulatif

Vous avez appris à détecter les biais :

  • La parité démographique égalise les taux de prédictions positives entre les groupes
  • L’égalité des chances conditionnelles égalise les taux TPR et FPR en tenant compte de l’étiquette
  • Le fairlearn MetricFrame calcule un dictionnaire de métriques pour chaque groupe de sensitive_features
  • Visualisez by_group pour repérer les disparités, puis appliquez une mesure d’atténuation

Questions Fréquemment Posées

La leçon « Détecter les biais dans les modèles d’apprentissage automatique » est-elle gratuite ?

Oui — le texte complet de « Détecter les biais dans les modèles d’apprentissage automatique » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Détecter les biais dans les modèles d’apprentissage automatique » ?

Attributs protégés, impact disproportionné, métriques fairlearn, égalité des chances, parité démographique. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Learn AI with Python ?

Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Détecter les biais dans les modèles d’apprentissage automatique » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?

Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Détecter les biais dans les modèles d’apprentissage automatique
  2. Valeurs SHAP pour l’explicabilité des modèles
  3. LIME : explications locales interprétables
  4. Cadres éthiques et de gouvernance de l’IA
← Retour à Learn AI with Python