Home/ Wiki/ AI/ Matrice di Confusione

Matrice di Confusione

Lo strumento fondamentale per valutare le prestazioni di un classificatore: comprendere TP, FP, TN, FN e le metriche derivate.

Illustrazione della valutazione di un modello di classificazione tramite matrice di confusione
Indice dei contenuti
Aggiornato: Aprile 2026 10 min di lettura

Definizione e struttura

La matrice di confusione (confusion matrix) è uno strumento tabellare che riassume le prestazioni di un modello di classificazione. Confronta le predizioni del modello con le etichette reali (ground truth), rendendo immediatamente visibili gli errori commessi.

Punti chiave

  • La matrice di confusione incrocia predizioni e valori reali, mostrando dove e come il modello sbaglia.
  • Le quattro celle (TP, FP, TN, FN) sono la base da cui si calcolano tutte le metriche di valutazione.
  • Accuracy, Precision, Recall e F1-Score misurano aspetti diversi: nessuna è universalmente migliore.
  • La scelta della metrica dipende dal costo relativo dei falsi positivi e dei falsi negativi nel tuo contesto.
  • Con dataset sbilanciati l'accuracy inganna: serve guardare Precision e Recall per ciascuna classe.

Nel caso binario (due classi: Positivo e Negativo), la matrice ha dimensione 2x2:

Predetto PositivoPredetto Negativo
Reale PositivoTP (True Positive)FN (False Negative)
Reale NegativoFP (False Positive)TN (True Negative)

Le righe rappresentano la classe reale, le colonne la classe predetta dal modello. Questa convenzione è la più diffusa in letteratura e coincide con quella usata da librerie come Scikit-learn e TensorFlow. Attenzione però: alcune fonti invertono righe e colonne, quindi prima di interpretare i numeri verifica sempre quale asse rappresenta il valore reale e quale la predizione.

TP, FP, TN, FN spiegati

Per comprendere le quattro celle, immaginiamo un classificatore che rileva email di spam:

  • True Positive (TP): il modello dice "spam" e l'email è davvero spam. Predizione corretta.
  • True Negative (TN): il modello dice "non spam" e l'email non è spam. Predizione corretta.
  • False Positive (FP): il modello dice "spam" ma l'email è legittima. Errore di tipo I (falso allarme).
  • False Negative (FN): il modello dice "non spam" ma l'email è spam. Errore di tipo II (mancata rilevazione).

Ricorda: la prima parola (True/False) indica se la predizione è corretta; la seconda (Positive/Negative) indica cosa ha predetto il modello.

Accuracy, Precision, Recall

Dalla matrice di confusione si derivano le metriche fondamentali:

Formule principali

Accuracy = (TP + TN) / (TP + TN + FP + FN)

Precision = TP / (TP + FP)

Recall (Sensitivity) = TP / (TP + FN)

Specificity = TN / (TN + FP)

Accuracy misura la percentuale complessiva di predizioni corrette. È utile quando le classi sono bilanciate, ma può essere fuorviante con dataset sbilanciati. Se il 95% dei campioni è negativo, un modello che predice sempre "negativo" raggiunge il 95% di accuracy senza aver appreso nulla: è il classico "paradosso dell'accuracy" che mostra perché questa metrica, da sola, non basta mai a giudicare un classificatore.

Precision risponde alla domanda: "Tra tutti i campioni che il modello ha etichettato come positivi, quanti lo sono davvero?". È cruciale quando i falsi positivi hanno un costo elevato. Pensa a una campagna di email marketing automatizzata: una bassa Precision significa contattare molte persone non interessate, sprecando budget e rischiando di danneggiare la reputazione del dominio mittente.

Recall (o Sensitivity) risponde a: "Tra tutti i campioni realmente positivi, quanti ne ha individuati il modello?". È critica quando i falsi negativi sono pericolosi o costosi, come nel rilevamento frodi (non vuoi lasciare passare transazioni fraudolente) o nella diagnostica medica. Aumentare la Recall di solito comporta abbassare la soglia di decisione, accettando in cambio un numero maggiore di falsi positivi.

F1-Score e media armonica

Precision e Recall sono spesso in tensione: aumentare l'una tende a ridurre l'altra. L'F1-Score è la media armonica delle due, offrendo un singolo valore di compromesso:

F1-Score = 2 * (Precision * Recall) / (Precision + Recall)

La media armonica penalizza i valori estremi: se Precision = 1.0 ma Recall = 0.01, l'F1 sarà molto basso (~0.02), a differenza della media aritmetica (0.505) che nasconderebbe il problema. In pratica, l'F1 premia solo i modelli che sono buoni su entrambi i fronti contemporaneamente.

Varianti dell'F-score includono l'F-beta, dove il parametro beta controlla il peso relativo di Recall rispetto a Precision: F2 dà più peso alla Recall (utile quando i falsi negativi sono il problema principale), mentre F0.5 privilegia la Precision (quando vuoi minimizzare i falsi allarmi). Scegliere il beta giusto significa tradurre in numeri la priorità di business del tuo progetto.

Esempio pratico completo

Supponiamo un modello di diagnosi tumorale applicato a 200 pazienti:

Predetto TumorePredetto Sano
Reale TumoreTP = 45FN = 5
Reale SanoFP = 10TN = 140

Calcoliamo:

  • Accuracy = (45 + 140) / 200 = 92.5%
  • Precision = 45 / (45 + 10) = 81.8%
  • Recall = 45 / (45 + 5) = 90.0%
  • F1-Score = 2 * (0.818 * 0.900) / (0.818 + 0.900) = 85.7%

In questo contesto medico, la Recall del 90% significa che 5 pazienti malati su 50 non vengono rilevati. Potrebbe essere necessario abbassare la soglia di classificazione per aumentare la Recall, accettando più falsi positivi. È un trade-off tipico nella pratica clinica, dove si preferisce investigare ulteriormente un paziente sano (FP) piuttosto che non diagnosticare un tumore (FN). Lo stesso ragionamento si applica al marketing e ai sistemi di scoring: prima di ottimizzare un modello bisogna decidere quale errore costa di più all'organizzazione.

Matrice multiclasse

Quando le classi sono più di due (es. classificazione di immagini in "gatto", "cane", "uccello"), la matrice diventa NxN. Ogni cella (i, j) indica quanti campioni della classe reale i sono stati classificati come classe j.

Pred. GattoPred. CanePred. Uccello
Gatto4055
Cane3425
Uccello2345

La diagonale principale mostra le predizioni corrette. Per calcolare Precision e Recall per ciascuna classe, si considera ogni classe come "positiva" in un approccio one-vs-all. Per aggregare le metriche si usano:

  • Macro-average: media semplice delle metriche di ciascuna classe (tratta tutte le classi allo stesso modo).
  • Weighted-average: media pesata per il numero di campioni per classe.
  • Micro-average: calcola TP, FP, FN globali e poi le metriche (coincide con l'accuracy nel multiclasse).

Quando usare quale metrica

La scelta della metrica dipende dal contesto applicativo e dal costo relativo degli errori. La tabella seguente riassume alcuni scenari tipici e la metrica da privilegiare in ciascuno:

ScenarioMetrica prioritariaMotivazione
Diagnosi medicaRecallUn FN (malattia non rilevata) è molto più grave di un FP
Filtro spam emailPrecisionUn FP (email legittima in spam) è fastidioso per l'utente
Frode finanziariaRecallMeglio investigare un falso allarme che perdere una frode
Classificazione bilanciataF1-Score / AccuracyUn buon compromesso quando le classi sono equilibrate
Motore di ricercaPrecision@KTra i primi K risultati, quanti sono rilevanti?

Non esiste una metrica universalmente migliore. La scelta dipende sempre dal dominio e dal costo relativo dei diversi tipi di errore. Comprendere la matrice di confusione è il primo passo per prendere decisioni informate.

Per approfondire la valutazione dei modelli, consulta l'articolo sugli Algoritmi di Classificazione e quello su Overfitting e Underfitting, dove si discute come il bilanciamento tra complessità del modello e generalizzazione influenza direttamente queste metriche.

Vuoi imparare ad applicarlo davvero?

Scopri i corsi e la formazione di Federico Boggia su AI, dati e digitale.

Vai ai corsi