0Pricing
Learn AI with Python · Lezione

Rilevamento dei bias nei modelli ML

Attributi protetti, impatto differenziale, metriche fairlearn, equalized odds, parità demografica

Rilevamento dei bias nei modelli ML è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.

Che cos'è il bias algoritmico

Un modello è distorto quando le sue previsioni svantaggiano sistematicamente un gruppo definito da un attributo sensibile (genere, etnia, età). Il bias deriva spesso da dati di addestramento sbilanciati e può causare danni concreti nelle decisioni di assunzione, concessione di prestiti o assistenza sanitaria.

Caratteristiche sensibili

Una caratteristica sensibile è l'attributo rispetto al quale si misura l'equità, ad esempio il genere o l'etnia. Le metriche di equità confrontano il comportamento del modello tra i gruppi definiti da questa caratteristica, anche se la caratteristica non viene utilizzata come input del modello.

Parità demografica

La parità demografica richiede che il tasso di predizioni positive sia uguale tra i gruppi. Se un modello per i prestiti approva il 60% del gruppo A ma solo il 35% del gruppo B, la parità demografica è violata indipendentemente dall'effettivo merito creditizio dei richiedenti.

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

Odds equalizzate

Le odds equalizzate sono un criterio più stringente: richiedono che i tassi di veri positivi e falsi positivi siano uguali tra i gruppi. Poiché tengono conto dell'etichetta effettiva, consentono tassi di selezione diversi purché il modello sia altrettanto accurato per ciascun gruppo.

# 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à e odds

Queste metriche possono entrare in conflitto:

  • La parità demografica ignora l'etichetta effettiva, quindi può imporre tassi uguali anche quando i tassi di base sono realmente diversi
  • Le odds equalizzate rispettano l'etichetta effettiva, ma consentono tassi di selezione diversi

Nessuna metrica è universalmente corretta: la scelta dipende dal contesto e dalla normativa.

Introduzione a fairlearn

fairlearn è una libreria Python per misurare e mitigare l'iniquità. Il suo principale strumento di misurazione è MetricFrame, che calcola qualsiasi metrica suddividendola per gruppo sensibile.

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

Creazione di un MetricFrame

Si passa un dizionario di metriche, le etichette effettive, le predizioni e le sensitive_features. fairlearn valuta ogni metrica per ciascun gruppo.

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

Risultati per gruppo

L'attributo by_group restituisce una tabella con ogni metrica per ciascun gruppo, rendendo immediatamente evidenti le disparità.

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

Valori complessivi e differenze

fairlearn fornisce anche viste aggregate: overall per l'intero dataset e metodi come difference() e ratio() che riassumono il divario tra il gruppo migliore e quello peggiore.

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

Visualizzazione delle disparità

Un grafico a barre di by_group trasforma i numeri in un'immagine intuitiva. Un ampio divario tra le barre della stessa metrica è un chiaro segnale d'allarme: il modello tratta i gruppi in modo diverso.

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

Dal rilevamento alla mitigazione

Dopo aver quantificato il bias, fairlearn offre algoritmi di mitigazione, come ExponentiatedGradient e il post-processing con ThresholdOptimizer, che riaddestrano il modello o modificano le soglie per rispettare un vincolo di equità. Il rilevamento viene sempre prima: non si può correggere ciò che non è stato misurato.

Verifica rapida

Metta alla prova le Sue conoscenze sull'equità.

Riepilogo

Ha imparato a rilevare il bias:

  • La parità demografica rende uguali i tassi positivi tra i gruppi
  • Le odds equalizzate rendono uguali TPR e FPR, tenendo conto dell'etichetta
  • fairlearn MetricFrame calcola un dizionario di metriche per ogni gruppo di sensitive_features
  • Visualizzi by_group per individuare le disparità, quindi applichi la mitigazione

Domande Frequenti

La lezione «Rilevamento dei bias nei modelli ML» è gratuita?

Sì — il testo completo di «Rilevamento dei bias nei modelli ML» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.

Cosa imparerò in «Rilevamento dei bias nei modelli ML»?

Attributi protetti, impatto differenziale, metriche fairlearn, equalized odds, parità demografica Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Learn AI with Python?

Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Rilevamento dei bias nei modelli ML»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?

Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Rilevamento dei bias nei modelli ML
  2. Valori SHAP per l'interpretabilità dei modelli
  3. LIME: spiegazioni locali interpretabili
  4. Etica dell'AI e framework di governance
← Torna a Learn AI with Python