Fondamenti di IA

Cos’è una Matrice di Confusione?

mm
Aggiungi Unite.AI alle tue fonti preferite su Google

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 dataset. 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.

Cos’è una Matrice di Confusione?

Iniziamo con una semplice definizione di 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 dataset. 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 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 identifica completamente e costantemente una classe in modo errato, ma 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.

Definiamo 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 dataset. 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 concentra su quanti esempi il modello ha etichettato come positivi siano stati effettivamente positivi. Per calcolare questo, il numero di esempi positivi veri è diviso per il numero di falsi positivi più veri positivi.

Per fare la distinzione tra richiamo e precisione più chiara, la precisione cerca di determinare la percentuale di tutti gli esempi etichettati come positivi che sono stati effettivamente 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 esempi positivi e il tasso di previsioni positive autentiche, la specificità quantifica il tasso di negativi veri o il numero di esempi che il modello ha definito come negativi che sono stati effettivamente negativi. Ciò è 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

Foto: 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. I tratti verranno inseriti 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. Riguardo alla 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. Verifica 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 si trovano gli esempi effettivamente falsi.

Quando il dataset 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 puoi discernere le quattro metriche predittive discusse sopra.

Ad esempio, puoi 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 esempi positivi veri.

Mentre si potrebbe spendere del tempo calcolando manualmente metriche come precisione, richiamo e specificità, queste metriche sono così comuni che la maggior parte delle librerie di machine learning hanno 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.