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.

Indice dei contenuti
Aggiornato: Aprile 2026 10 min di lettura

Definizione e struttura

La matrice di confusione (confusion matrix) e 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.

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 e la piu diffusa in letteratura (Scikit-learn, TensorFlow).

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 e davvero spam. Predizione corretta.
  • True Negative (TN): il modello dice "non spam" e l'email non e spam. Predizione corretta.
  • False Positive (FP): il modello dice "spam" ma l'email e legittima. Errore di tipo I (falso allarme).
  • False Negative (FN): il modello dice "non spam" ma l'email e spam. Errore di tipo II (mancata rilevazione).

Ricorda: la prima parola (True/False) indica se la predizione e 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. E utile quando le classi sono bilanciate, ma puo essere fuorviante con dataset sbilanciati. Se il 95% dei campioni e negativo, un modello che predice sempre "negativo" raggiunge il 95% di accuracy senza aver appreso nulla.

Precision risponde alla domanda: "Tra tutti i campioni che il modello ha etichettato come positivi, quanti lo sono davvero?". E cruciale quando i falsi positivi hanno un costo elevato (es. diagnostica medica: non vuoi allarmare pazienti sani).

Recall risponde a: "Tra tutti i campioni realmente positivi, quanti ne ha individuati il modello?". E critica quando i falsi negativi sono pericolosi (es. rilevamento frodi: non vuoi lasciare passare transazioni fraudolente).

F1-Score e media armonica

Precision e Recall sono spesso in tensione: aumentare l'una tende a ridurre l'altra. L'F1-Score e 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 sara molto basso (~0.02), a differenza della media aritmetica (0.505) che nasconderebbe il problema.

Varianti dell'F-score includono F-beta, dove beta controlla il peso relativo di Recall rispetto a Precision: F2 da piu peso alla Recall, F0.5 alla Precision.

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 piu falsi positivi. E un trade-off tipico nella pratica clinica, dove si preferisce investigare ulteriormente un paziente sano (FP) piuttosto che non diagnosticare un tumore (FN).

Matrice multiclasse

Quando le classi sono piu 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:

ScenarioMetrica prioritariaMotivazione
Diagnosi medicaRecallUn FN (malattia non rilevata) e molto piu grave di un FP
Filtro spam emailPrecisionUn FP (email legittima in spam) e 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 e 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 complessita del modello e generalizzazione influenza direttamente queste metriche.