Confusion Matrix

[confiùsion mèitrix]

Tabella che mostra previsioni vs verità per ogni classe. Ti dice esattamente dove il modello sbaglia. Va guardata sempre.

La confusion matrix (in italiano: matrice di confusione) è una tabella che mostra, per ogni classe, quante previsioni sono giuste e quante sono sbagliate (e in che modo). È la prima cosa da guardare quando valuti un classificatore.

Per classificazione binaria, è una tabella 2x2:

  • Veri positivi (VP): previsti positivi, sono positivi davvero.
  • Veri negativi (VN): previsti negativi, sono negativi davvero.
  • Falsi positivi (FP): previsti positivi, sono negativi (errore di tipo I).
  • Falsi negativi (FN): previsti negativi, sono positivi (errore di tipo II).

Da qui derivi tutte le altre metriche:

  • Accuracy = (VP + VN) / totale.
  • Precision = VP / (VP + FP).
  • Recall = VP / (VP + FN).
  • Specificity = VN / (VN + FP).
  • F1 = 2 * (precision * recall) / (precision + recall).

Per classificazione multi-classe la confusion matrix è NxN. Ogni riga è una classe vera, ogni colonna una classe predetta. La diagonale sono giuste, fuori diagonale sono confusioni.

Cose che vedi solo dalla confusion matrix:

  • Quali classi si confondono: il modello scambia spesso "gatto" con "cane"? Niente "tigre" e "cane".
  • Bias di sbilanciamento: una classe predetta troppo poco? Probabilmente sottorappresentata in training.
  • Errori sistematici: una direzione di errore prevalente? Magari problema nei dati.

Errore di principianti: riportare solo accuracy. Senza la confusion matrix, non sai dove il modello sbaglia. Senza sapere dove sbaglia, non puoi migliorarlo. Sempre, sempre stampa la confusion matrix. Sempre.