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.
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.
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.
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.
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:
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
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
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
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
Abbiamo intervistato 2.000 organizzazioni in merito alle loro iniziative di AI per scoprire cosa funziona, cosa non funziona e come giocare d’anticipo.
IBM Granite è la nostra famiglia di modelli AI aperti, efficienti e affidabili, su misura per le aziende e ottimizzati per scalare le applicazioni di AI. Esplora le opzioni di linguaggio, codice, serie temporali e guardrail.
Accedi al nostro catalogo completo di oltre 100 corsi online acquistando oggi stesso un abbonamento individuale o multiutente che ti consentirà di ampliare le tue competenze su una gamma di prodotti a un prezzo contenuto.
Condotto dai migliori leader di pensiero di IBM, il programma di studi è stato progettato per aiutare i dirigenti aziendali ad acquisire le conoscenze necessarie per dare priorità agli investimenti in AI che possono favorire la crescita.
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.
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com, openliberty.io