Vai al contenuto principale

Che cos'è una Confusion Matrix nel Machine Learning? Lo strumento di valutazione del modello spiegato

Scopri come una confusion matrix categorizza le previsioni del modello in True Positive, False Positive, True Negative e False Negative. Continua a leggere per capire la sua struttura, i passaggi di calcolo e gli usi per gestire dati sbilanciati e l'analisi degli errori.
Aggiornato 29 set 2026  · 12 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Quest'anno è stato all'insegna dell'innovazione nel campo della data science, con intelligenza artificiale e machine learning a dominare le notizie. Pur essendo innegabili i progressi compiuti nel 2023, è importante riconoscere che molti di questi avanzamenti nel machine learning sono stati possibili solo grazie ai corretti processi di valutazione cui i modelli sono sottoposti. A chi lavora con i dati spetta il compito di garantire valutazioni accurate e processi adeguati per misurare le prestazioni di un modello di machine learning. Non è solo utile: è essenziale.

Se vuoi padroneggiare l'arte della data science, questo articolo ti guiderà nei passaggi cruciali della valutazione dei modelli usando la confusion matrix, uno strumento relativamente semplice ma potente, ampiamente utilizzato nella valutazione.

Quindi tuffiamoci e scopriamo di più sulla confusion matrix.

Che cos'è la Confusion Matrix?

La confusion matrix è uno strumento utilizzato per valutare le prestazioni di un modello ed è rappresentata visivamente come una tabella. Fornisce agli specialisti dei dati un livello più profondo di insight sulle prestazioni del modello, sugli errori e sulle sue debolezze. Questo permette di analizzare ulteriormente il modello attraverso il fine tuning.

La struttura della Confusion Matrix

Vediamo la struttura di base di una confusion matrix, usando l'esempio dell'identificazione di un'email come spam o non spam.

  • True Positive (TP) - Il tuo modello ha previsto la classe positiva. Per esempio, identificare un'email di spam come spam.
  • True Negative (TN) - Il tuo modello ha previsto correttamente la classe negativa. Per esempio, identificare un'email normale come non spam.
  • False Positive (FP) - Il tuo modello ha previsto in modo errato la classe positiva. Per esempio, identificare un'email normale come spam.
  • False Negative (FN) - Il tuo modello ha previsto in modo errato la classe negativa. Per esempio, identificare un'email di spam come email normale.

Per comprendere davvero il concetto di confusion matrix, dai un'occhiata alla visualizzazione qui sotto:

La struttura di una confusion matrix

La struttura base di una Confusion Matrix

Terminologia della Confusion Matrix

Per comprendere a fondo la Confusion Matrix, è essenziale conoscere le metriche importanti utilizzate per misurare le prestazioni di un modello.

Definiamo le metriche principali:

Accuracy

L'accuracy misura il numero totale di classificazioni corrette diviso per il numero totale di casi.

Formula dell'accuracy per la Confusion Matrix

Recall/Sensitivity

Il recall/sensitivity misura il numero totale di veri positivi diviso per il numero totale di positivi reali.

Formula del recall per la Confusion Matrix

Precision

La precision misura il numero totale di veri positivi diviso per il numero totale di positivi previsti.

Formula della precision per la Confusion Matrix

Specificity

La specificity misura il numero totale di veri negativi diviso per il numero totale di negativi reali.

Formula della specificity per la Confusion Matrix

F1 Score

L'F1 Score è una metrica unica che rappresenta la media armonica di precision e recall.

Formula dell'F1 score per la Confusion Matrix

Il ruolo di una Confusion Matrix

Per comprendere meglio la confusion matrix, devi capirne l'obiettivo e perché è così diffusa.

Quando si tratta di misurare le prestazioni di un modello, o qualsiasi altra cosa in generale, ci si concentra sull'accuracy. Tuttavia, affidarsi pesantemente a questa metrica può portare a decisioni errate. Per capirlo, esamineremo i limiti dell'uso dell'accuracy come metrica a sé stante.

Limiti dell'accuracy come metrica a sé stante

Come definito sopra, l'accuracy misura il numero totale di classificazioni corrette diviso per il numero totale di casi. Tuttavia, usare questa metrica da sola comporta limiti, come ad esempio:

  • Lavorare con dati sbilanciati: Nessun dato è perfetto e l'uso dell'accuracy va valutato in base al suo potere predittivo. Per esempio, lavorare con un dataset in cui una classe prevale sull'altra porterà il modello a ottenere un'accuracy più alta perché tenderà a prevedere la classe di maggioranza.
  • Tipi di errore: Capire e conoscere le prestazioni del tuo modello in un contesto specifico ti aiuterà a rifinirlo e migliorarne le performance. Per esempio, distinguere i tipi di errore tramite una confusion matrix, come FP e FN, ti permetterà di esplorare i limiti del modello.

Alla luce di questi limiti, la confusion matrix, insieme alle varie metriche, offre insight più dettagliati su come migliorare le prestazioni di un modello.

I benefici di una confusion matrix

Come visto nella struttura base di una confusion matrix, le previsioni sono suddivise in quattro categorie: True Positive, True Negative, False Positive e False Negative.

Questa scomposizione dettagliata offre insight preziosi e soluzioni per migliorare le prestazioni di un modello:

  • Gestione di dati sbilanciati: Come visto, usare l'accuracy come metrica a sé stante ha limiti quando i dati sono sbilanciati. Usare altre metriche, come precision e recall, permette una visione più equilibrata e una rappresentazione più accurata. Per esempio, falsi positivi e falsi negativi possono avere gravi conseguenze in settori come la finanza.
  • Differenziazione dei tipi di errore: Capire i diversi tipi di errori prodotti dal modello di machine learning fornisce consapevolezza dei suoi limiti e delle aree di miglioramento.
  • Trade-off: Il compromesso tra le diverse metriche in una Confusion Matrix è essenziale perché si influenzano a vicenda. Per esempio, un aumento della precision porta tipicamente a una diminuzione del recall. Questo ti guiderà nel migliorare le prestazioni del modello sfruttando le informazioni dai valori delle metriche impattate.

Calcolare una Confusion Matrix

Ora che abbiamo una buona comprensione di una confusion matrix di base, della sua terminologia e del suo utilizzo, passiamo al calcolo manuale di una confusion matrix, seguito da un esempio pratico.

Calcolo manuale di una confusion matrix

Ecco una guida passo passo su come calcolare manualmente una Confusion Matrix.

Definisci gli esiti

Il primo passo è identificare i due possibili esiti del tuo task: Positivo o Negativo.

Raccolta delle previsioni

Una volta definiti i possibili esiti, il passo successivo è raccogliere tutte le previsioni del modello, inclusa la frequenza con cui il modello ha previsto ciascuna classe e la sua occorrenza.

Classificazione degli esiti

Una volta raccolte tutte le previsioni, il passo successivo è classificare gli esiti nelle quattro categorie:

  • True Positive (TP)
  • True Negative (TN)
  • False Positive (FP)
  • False Negative (FN)

Crea una matrice

Una volta classificati gli esiti, il passo successivo è presentarli in una tabella a matrice, da analizzare ulteriormente usando varie metriche.

Esempio pratico di confusion matrix

Vediamo un esempio pratico per illustrare questo processo.

Continuando con lo stesso esempio di identificare un'email come spam o non spam, creiamo un dataset ipotetico in cui spam è Positivo e non spam è Negativo. Abbiamo i seguenti dati:

  • Tra le 200 email, 80 sono effettivamente spam e il modello ne identifica correttamente 60 come spam (TP).
  • Tra le 200 email, 120 non sono spam e il modello ne identifica correttamente 100 come non spam (TN).
  • Tra le 200 email, il modello identifica erroneamente 20 email non spam come spam (FP).
  • Tra le 200 email, il modello manca 20 email di spam e le identifica come non spam (FN).

A questo punto abbiamo definito l'esito e raccolto i dati; il passo successivo è classificare gli esiti nelle quattro categorie:

  • True Positive: 60
  • True Negative: 100
  • False Positive: 20
  • False Negative: 20

Il passo successivo è trasformare questo in una Confusion Matrix:

Reale / Predetto

Spam (Positivo)

Non spam (Negativo)

Spam (Positivo)

60 (TP)

20 (FN)

Non spam (Negativo)

20 (FP)

100 (TN)

Quindi, cosa ci dice la Confusion Matrix?

  • I True Positive e i True Negative indicano previsioni corrette.
  • I False Positive indicano che il modello ha previsto erroneamente la classe positiva.
  • I False Negative indicano che il modello non è riuscito a identificare e prevedere la classe positiva.

Usando questa confusion matrix, possiamo calcolare diverse metriche: Accuracy, Recall/Sensitivity, Precision, Specificity e F1 Score.

Output delle metriche della confusion matrix

Output delle metriche della confusion matrix

Precision vs. Recall

Potresti chiederti perché l'F1 score includa precision e recall nella sua formula. L'F1 score è una metrica cruciale quando si lavora con dati sbilanciati o quando vuoi bilanciare il trade-off tra precision e recall.

La precision misura l'accuratezza delle previsioni positive. Risponde alla domanda: "quando il modello ha previsto TRUE, quanto spesso aveva ragione?". La precision, in particolare, è importante quando il costo di un falso positivo è elevato.

Il recall, o sensitivity, misura il numero di positivi reali identificati correttamente dal modello. Risponde alla domanda: "quando la classe era effettivamente TRUE, quanto spesso il classificatore l'ha azzeccata?".

Il recall è importante quando mancare un'istanza positiva (FN) è significativamente peggio che etichettare in modo errato istanze negative come positive.

  • Uso della precision: I falsi positivi possono avere conseguenze gravi. Per esempio, un modello di classificazione usato nel settore finanziario identifica erroneamente una transazione come fraudolenta. In scenari come questo, la metrica della precision è importante.
  • Uso del recall: Identificare tutti i casi positivi può essere imprescindibile. Per esempio, modelli di classificazione usati in ambito medico che non diagnosticano correttamente possono essere dannosi. In scenari in cui identificare correttamente tutti i casi positivi è essenziale, la metrica del recall è importante.

Confusion Matrix con Scikit-learn in Python

Per contestualizzare, creiamo una confusion matrix con Scikit-learn in Python, usando un classificatore Random Forest.

Il primo passo è importare le librerie necessarie e costruire il tuo dataset sintetico.

# Import Libraries
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt
import seaborn as sns

# Synthetic Dataset
X, y = make_classification(n_samples=1000, n_features=20,
                           n_classes=2, random_state=42)

# Split into Training and Test Sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

Il passo successivo è addestrare il modello usando un semplice classificatore random forest

# Train the Model
model = RandomForestClassifier(random_state=42)
model.fit(X_train, y_train)

Come abbiamo fatto nell'esempio pratico, dobbiamo classificare gli esiti e trasformarli in una confusion matrix. Lo facciamo prima prevedendo sui dati di test e poi generando una Confusion Matrix:

# Predict on the Test Data
y_pred = model.predict(X_test)

# Generate the confusion matrix
cm = confusion_matrix(y_test, y_pred)

Ora vogliamo generare una rappresentazione visiva della confusion matrix:

# Create a Confusion Matrix
plt.figure(figsize=(8, 8))
sns.heatmap(cm, annot=True, fmt='d', cmap='Greens')
plt.title('Confusion Matrix')
plt.ylabel('True label')
plt.xlabel('Predicted label')
plt.show()

Questo è l'output:

Esempio di confusion matrix

Output della Confusion Matrix con Random Forest

Tada 🎉 Hai creato con successo la tua prima Confusion Matrix usando Scikit-learn!

Conclusione

In questo articolo abbiamo esplorato la definizione di una Confusion Matrix, la terminologia importante che circonda lo strumento di valutazione e i limiti e l'importanza delle diverse metriche. Saper calcolare manualmente una Confusion Matrix è importante per la tua base di conoscenze in data science, così come saperla implementare usando librerie come Scikit-learn.

Se vuoi approfondire ulteriormente la Confusion Matrix, esercitati con le confusion matrix in R con Understanding Confusion Matrix in R. Vai un po' più a fondo con il nostro corso Model Validation in Python, dove imparerai le basi della validazione dei modelli, le tecniche di validazione e inizierai a creare modelli validati e ad alte prestazioni.


Nisha Arya Ahmed's photo
Author
Nisha Arya Ahmed
LinkedIn

Apprendo con entusiasmo e cerco di mettere in pratica le mie competenze tecniche in data science e le forti capacità relazionali per migliorare e ampliare le mie conoscenze tecnologiche e le abilità di scrittura.

Ho fatto il passaggio dalla Farmacologia alla Data Science, frequentando un bootcamp di 9 mesi con Lambda School. 

Sono interessata a sviluppare e migliorare le mie competenze di programmazione e scrittura in ambito Machine Learning e Intelligenza Artificiale. ​

Attualmente sono Data Scientist e Technical Writer freelance.

Argomenti
Machine Learning
Intelligenza artificiale

Scopri di più sulla Confusion Matrix

Corso

Validazione dei modelli in Python

4 ore
31.3K
Impara le basi della validazione dei modelli, le tecniche di validazione e inizia a creare modelli validati e super efficaci.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

Mostra AltroMostra Altro