My IBM Accedi Iscriviti

Che cos'è una matrice di confusione?

19 gennaio 2024

Autori

Jacob Murel Ph.D.

Senior Technical Content Creator

Eda Kavlakoglu

Program Manager

La matrice di confusione aiuta a valutare le prestazioni del modello di classificazione nel machine learning, confrontando i valori previsti con quelli effettivi per un set di dati.

Una matrice di confusione (o matrice di errore) è un metodo di visualizzazione per i risultati dell'algoritmo di classificazione. Più specificamente, è una tabella che suddivide il numero di istanze di ground truth di una classe specifica rispetto al numero di istanze di classe previste. Le matrici di confusione sono una delle diverse metriche di valutazione che misurano le prestazioni di un modello di classificazione. Possono essere utilizzate per calcolare una serie di altre metriche delle prestazioni del modello, come ad esempio la precisione e il richiamo.

Le matrici di confusione possono essere utilizzate con qualsiasi algoritmo di classificazione, come Naïve Bayes, modelli di regressione logistica, alberi decisionali e così via. Grazie all'ampia applicabilità nei modelli di data science e machine learning, molti pacchetti e librerie sono precaricati con funzioni per la creazione di matrici di confusione, come il modulo sklearn.metrics di scikit-learn per Python.

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI 


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Il layout della matrice di confusione

In una matrice di confusione, le colonne rappresentano i valori previsti di una data classe, mentre le righe rappresentano i valori effettivi (ad esempio, le ground truth) di una data classe, o viceversa. È importante precisare che nella ricerca si riscontra anche il fenomeno inverso. Questa struttura a griglia è uno strumento utile per visualizzare l'accuratezza della classificazione dei modelli visualizzando il numero di previsioni corrette e previsioni errate per tutte le classi una accanto all'altra.

Un modello di matrice di confusione standard per un classificatore binario può essere simile al seguente:

La casella in alto a sinistra fornisce il numero di veri positivi (TP), ovvero il numero di previsioni corrette per la classe positiva. Il riquadro sottostante è rappresentato dai falsi positivi (FP), quei casi di classe negativa erroneamente identificati come casi positivi. In statistica, questi sono anche chiamati errori di tipo I. La casella in alto a destra indica il numero di falsi negativi (FN), i casi effettivamente positivi erroneamente previsti come negativi. Infine, nella casella in basso a destra viene visualizzato il numero di veri negativi (TN), ovvero le istanze effettive della classe negativa previste con precisione. Sommando ciascuno di questi valori si ottiene il numero totale di previsioni.1

Naturalmente, questo modello è per un rudimentale problema di classificazione binaria. La matrice di confusione può visualizzare i risultati anche per problemi di classificazione multi-classe. Ad esempio, immaginiamo di sviluppare un modello di classificazione delle specie come parte di un programma di conservazione della vita marina. Il modello prevede le specie ittiche. Una matrice di confusione per un problema di classificazione multi-classe di questo tipo può essere simile alla seguente:

Tutte le caselle diagonali indicano i veri positivi previsti. Le altre caselle forniscono le quantità per i falsi positivi, i falsi negativi e i veri negativi a seconda della classe che si sceglie di mettere a fuoco.

Utilizzo della matrice di confusione per la valutazione del modello

Data la visualizzazione facilmente accessibile dei risultati predittivi del classificatore, la matrice di confusione è utile per calcolare altre metriche di valutazione del modello. I valori possono essere semplicemente estratti dalla matrice e inseriti in una serie di equazioni per misurare le prestazioni del modello.

Accuratezza

L'accuratezza del modello non è una metrica di valutazione completamente informativa per i classificatori. Immaginiamo, ad esempio, di eseguire un classificatore su un set di dati di 100 istanze. La matrice di confusione del modello mostra solo un falso negativo e nessun falso positivo; il modello classifica correttamente ogni altra istanza di dati. Pertanto, il modello ha una precisione del 99%. Sebbene apparentemente desiderabile, l'elevata precisione non è di per sé indicativa di eccellenti prestazioni del modello. Ad esempio, supponiamo che il nostro modello miri a classificare malattie altamente contagiose. Questa errata classificazione dell'1% rappresenta un rischio enorme. Pertanto, è possibile utilizzare altre metriche di valutazione per fornire un quadro migliore delle prestazioni dell'algoritmo di classificazione.

Precisione e richiamo

La precisione è la proporzione di stime di classi positive che appartengono effettivamente alla classe in questione.2 Un altro modo di intendere la precisione è che misura la probabilità che un'istanza scelta a caso appartenga a una certa classe.3 La precisione può anche essere chiamata valore previsto positivo (PPV). È rappresentato dall'equazione:

Il richiamo indica la percentuale di istanze di classe rilevate da un modello.4 In altre parole, indica la percentuale di previsioni positive per una data classe rispetto a tutte le istanze effettive di quella classe.5 Il richiamo è noto anche come sensibilità o tasso di veri positivi (TPR) ed è rappresentato dall'equazione:

F1 score

Talvolta precisione e capacità di richiamo possono condividere una relazione inversa. Se un modello aumenta il richiamo restituendo un maggior numero di istanze della classe effettiva (cioè i veri positivi), il modello inevitabilmente classificherà in modo errato anche le non-istanze (cioè i falsi positivi), diminuendo così la precisione.6 F1 score cerca di combinare precisione e richiamo per risolvere questo compromesso.

F1 score, chiamato anche F-score, F-measure o media armonica di precisione e richiamo, combina precisione e richiamo per rappresentare l'accuratezza totale di un modello rispetto alla classe. Utilizzando questi due valori, si può calcolare l'F1 score con l'equazione, in cui P indica la precisione (PPV) e R indica il richiamo (sensibilità):

F1 score è particolarmente utile per set di dati sbilanciati, in cui il compromesso tra precisione e richiamo può essere più evidente. Ad esempio, supponiamo di avere un classificatore che prevede la probabilità di una malattia rara. Un modello previsionale in cui nessuno nel nostro set di dati di test risulta affetto dalla malattia può avere una precisione perfetta ma zero richiami. Nel frattempo, un modello che preveda che tutti i soggetti del nostro set di dati siano affetti dalla malattia restituirebbe un richiamo perfetto ma una precisione pari alla percentuale di persone effettivamente affette dalla malattia (ad esempio0,00001% se solo uno su dieci milioni ha la malattia). F1 score è un mezzo per bilanciare questi due valori per ottenere una visione più olistica delle prestazioni di un classificatore.7

Alcuni ricercatori criticano l'uso di F1 score come metrica delle prestazioni. Tali argomenti in genere affermano che l'F1 score attribuisce lo stesso peso alla precisione e al richiamo, che potrebbero non essere metriche di prestazioni ugualmente importanti per tutti i set di dati.8 In risposta a ciò, i ricercatori hanno proposto varianti modificate dell'F1 score.9

Misure condizionali

Le misure condizionali indicano il tasso di precisione di un modello per il rilevamento di una determinata classe o non classe. Il richiamo, noto anche come tasso di veri positivi (TPR) o sensibilità, è una di queste misure, che indica il rapporto tra le previsioni positive della classe rispetto a tutte le istanze effettive della classe. La specificità, o tasso di veri negativi (TNR), è l'altra misura condizionale. Misura la proporzione di stime negative corrette rispetto alle non-istanze effettive di una determinata classe. Si può calcolare la specificità con l'equazione:10

Tasso di falsi positivi

La specificità consente di calcolare il tasso di falsi positivi di un modello. Altre visualizzazioni di valutazione del classificatore, in particolare la curva ROC e l'AUC, utilizzano il tasso di falsi positivi. Si tratta della probabilità che un modello classifichi erroneamente una non-istanza di una determinata classe come parte di tale classe. Quindi, come suggerito dal nome, rappresenta il tasso con cui un modello restituisce falsi positivi, noti come errori di tipo I in statistica.

Mentre gli errori di tipo I si riferiscono a falsi positivi, gli errori di tipo II denotano falsi negativi, istanze effettive di una data classe erroneamente classificate come non appartenenti a quella classe. Come suggerito dal nome, il tasso di falsi negativi indica la probabilità che un modello classifichi erroneamente un'istanza di classe effettiva come non appartenente a tale classe. Così come il tasso di falsi positivi corrisponde alla specificità, il tasso di falsi negativi corrisponde alla sensibilità:

È importante notare che spesso l'FNR non viene utilizzato in letteratura perché richiede la conoscenza del numero totale di istanze effettive per una determinata classe, che può rimanere sconosciuta nei set di dati di test invisibili.11

Metriche incondizionate

Le metriche incondizionate sono quelle che rappresentano le probabilità che una classe specifica si verifichi o meno secondo il modello. La precisione, ovvero il valore predittivo positivo (PPV), è una metrica incondizionata. Come abbiamo già detto, misura la probabilità che un'istanza scelta appartenga a una determinata classe. L'altra metrica incondizionata, il valore previsto negativo (NPV), è la probabilità che un'istanza scelta non appartenga a quella classe. In sostanza, entrambe le metriche incondizionate cercano di rispondere se un'istanza scelta a caso apparterrà o meno a una classe specifica. Si può calcolare l'NPV con l'equazione12

Mixture of Experts | Podcast

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Soluzioni correlate

Soluzioni correlate

IBM watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e una minima quantità di dati.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda con l'esperienza leader di settore e il portfolio di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Consulenza e servizi sull'AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live
Note a piè di pagina

1 Kai Ming Ting, "Confusion matrix", Encyclopedia of Machine Learning and Data Mining, Springer, 2018.

2 Ethan Zhang e Yi Zhang, "Precision", Encyclopedia of Database Systems, Springer, 2018.

3 Max Kuhn e Kjell Johnson, Applied Predictive Modeling, Springer, 2016.

4 Ethan Zhang e Yi Zhang, "Recall", Encyclopedia of Database Systems, Springer, 2018.

5 Max Kuhn e Kjell Johnson, Applied Predictive Modeling, Springer, 2016.

6 Ben Carterette, "Precision and Recall", Encyclopedia of Database Systems, Springer, 2018.

7 Ian Goodfellow, Yoshua Bengio e Aaron Courville, Deep Learning, MIT Press, 2016, https://www.deeplearningbook.org/. Kevin Murphy, Machine Learning: A Probabilistic Perspective, MIT Press, 2012.

8 David Hand e Peter Christen, "A note on using the F-measure for evaluating record linkage algorithms", Statistics and Computing, Vol. 28, 2018, pagg. 539–547,https://link.springer.com/article/10.1007/s11222-017-9746-6 .

9 David Hand, Peter Christen e Nishadi Kirielle, "F*: an interpretable transformation of the F-measure," Machine Learning, Vol. 110, 2021, pagg. 451 456, https://link.springer.com/article/10.1007/s10994-021-05964-1 . Davide Chicco e Giuseppe Jurman, "The advantages of the Matthews correlation coefficient (MCC) over F1 score and accuracy in binary classification evaluation", BMC Genomics, Vol. 21, 2020,https://bmcgenomics.biomedcentral.com/articles/10.1186/s12864-019-6413-7.

10 Max Kuhn e Kjell Johnson, Applied Predictive Modeling, Springer, 2016.

11 Allen Downey, Think Stats, seconda edizione, O’Reilly, 2014.

12 Max Kuhn e Kjell Johnson, Applied Predictive Modeling, Springer, 2016.