Connect with us

IA 101

Che cos’è una Matrice di Confusione?

mm

Uno degli strumenti analitici più potenti nel machine learning e nella scienza dei dati è la matrice di confusione. La matrice di confusione è in grado di fornire ai ricercatori informazioni dettagliate su come un classificatore di machine learning abbia performato rispetto alle classi target nel set di dati. Una matrice di confusione dimostrerà esempi che sono stati classificati correttamente contro esempi mal classificati. Vediamo più da vicino come è strutturata una matrice di confusione e come può essere interpretata.

Che cos’è una Matrice di Confusione?

Iniziamo dando una definizione semplice di una matrice di confusione. Una matrice di confusione è uno strumento di analisi predittiva. In particolare, è una tabella che visualizza e confronta i valori effettivi con i valori previsti dal modello. Nel contesto del machine learning, una matrice di confusione viene utilizzata come metrica per analizzare come un classificatore di machine learning abbia performato su un set di dati. Una matrice di confusione genera una visualizzazione di metriche come precisione, accuratezza, specificità e richiamo.

Il motivo per cui la matrice di confusione è particolarmente utile è che, a differenza di altre tipologie di metriche di classificazione come l’accuratezza semplice, la matrice di confusione genera un’immagine più completa di come un modello abbia performato. Utilizzare solo una metrica come l’accuratezza può portare a una situazione in cui il modello sta completamente e costantemente malidentificando una classe, ma ciò non viene notato perché la performance media è buona. Nel frattempo, la matrice di confusione fornisce un confronto di diversi valori come Falsi Negativi, Veri Negativi, Falsi Positivi e Veri Positivi.

Vediamo di definire le diverse metriche che una matrice di confusione rappresenta.

Richiamo in una Matrice di Confusione

Il richiamo è il numero di esempi positivi autentici diviso per il numero di falsi negativi e esempi positivi totali. In altre parole, il richiamo rappresenta la proporzione di esempi positivi veri che un modello di machine learning ha classificato. Il richiamo è espresso come percentuale di esempi positivi che il modello è stato in grado di classificare su tutti gli esempi positivi contenuti nel set di dati. Questo valore può anche essere chiamato “tasso di successo”, e un valore correlato è la “sensibilità“, che descrive la probabilità di richiamo, o il tasso di previsioni positive autentiche.

Precisione in una Matrice di Confusione

Come il richiamo, la precisione è un valore che traccia le prestazioni di un modello in termini di classificazione di esempi positivi. Tuttavia, a differenza del richiamo, la precisione si occupa di quanti esempi il modello ha etichettato come positivi siano stati veramente positivi. Per calcolare questo, il numero di esempi positivi veri viene diviso per il numero di falsi positivi più veri positivi.

Per rendere più chiaro il distacco tra richiamo e precisione, la precisione cerca di determinare la percentuale di tutti gli esempi etichettati come positivi che erano veramente positivi, mentre il richiamo traccia la percentuale di tutti gli esempi positivi veri che il modello è stato in grado di riconoscere.

Specificità in una Matrice di Confusione

Mentre il richiamo e la precisione sono valori che tracciano gli esempi positivi e il tasso di previsioni positive vere, la specificità quantifica il tasso di negativi veri o il numero di esempi che il modello ha definito come negativi che erano veramente negativi. Ciò viene calcolato prendendo il numero di esempi classificati come negativi e dividendo per il numero di falsi positivi combinati con i veri negativi.

Capire la Matrice di Confusione

Photo: Jackverr via Wikimedia Commons, (https://commons.wikimedia.org/wiki/File:ConfusionMatrix.png), CC BY SA 3.0

Esempio di una Matrice di Confusione

Dopo aver definito termini necessari come precisione, richiamo, sensibilità e specificità, possiamo esaminare come questi diversi valori sono rappresentati all’interno di una matrice di confusione. Una matrice di confusione viene generata in casi di classificazione, applicabile quando ci sono due o più classi. La matrice di confusione generata può essere alta e larga come necessario, contenendo qualsiasi numero desiderato di classi, ma per scopi di semplicità, esamineremo una matrice di confusione 2 x 2 per un compito di classificazione binaria.

Ad esempio, supponiamo che un classificatore venga utilizzato per determinare se un paziente ha una malattia. Le caratteristiche verranno inserite nel classificatore e il classificatore restituirà una delle due diverse classificazioni – o il paziente non ha la malattia o ce l’ha.

Iniziamo con il lato sinistro della matrice. Il lato sinistro della matrice di confusione rappresenta le previsioni che il classificatore ha fatto per le singole classi. Un compito di classificazione binaria avrà due righe qui. Per quanto riguarda la parte superiore della matrice, traccia i valori veri, le etichette di classe effettive, delle istanze di dati.

L’interpretazione di una matrice di confusione può essere effettuata esaminando dove le righe e le colonne si intersecano. Controlla le previsioni del modello contro le etichette vere del modello. In questo caso, il valore dei Veri Positivi, il numero di previsioni positive corrette, si trova nell’angolo superiore sinistro. I falsi positivi si trovano nell’angolo superiore destro, dove gli esempi sono effettivamente negativi ma il classificatore li ha etichettati come positivi.

L’angolo inferiore sinistro della griglia visualizza le istanze che il classificatore ha etichettato come negative ma che erano effettivamente positive. Infine, l’angolo inferiore destro della matrice di confusione è dove si trovano i valori dei Veri Negativi, o dove gli esempi effettivamente falsi sono.

Quando il set di dati contiene più di due classi, la matrice cresce di quel numero di classi. Ad esempio, se ci sono tre classi, la matrice sarà una matrice 3 x 3. Indipendentemente dalle dimensioni della matrice di confusione, il metodo per interpretarle è esattamente lo stesso. Il lato sinistro contiene i valori previsti e le etichette di classe effettive corrono lungo la parte superiore. Le istanze che il classificatore ha previsto correttamente corrono diagonalmente dall’angolo superiore sinistro all’angolo inferiore destro. Guardando la matrice è possibile discernere le quattro metriche predittive discusse sopra.

Ad esempio, è possibile calcolare il richiamo prendendo i veri positivi e i falsi negativi, sommandoli insieme e dividendo per il numero di esempi positivi veri. Nel frattempo, la precisione può essere calcolata combinando i falsi positivi con i veri positivi, quindi dividendo il valore per il numero totale di veri positivi.

Mentre si potrebbe spendere del tempo calcolando manualmente metriche come precisione, richiamo e specificità, queste metriche sono così comunemente utilizzate che la maggior parte delle librerie di machine learning ha metodi per visualizzarle. Ad esempio, Scikit-learn per Python ha una funzione che genera una matrice di confusione.

Blogger e programmatore con specializzazioni in Machine Learning e Deep Learning argomenti. Daniel spera di aiutare gli altri a utilizzare il potere dell'AI per il bene sociale.