Il processo di classificazione aiuta con la categorizzazione del set di dati in diverse classi. Un modello di apprendimento automatico permette di:
– Inquadrare il problema,
– Raccogliere i dati,
– Aggiungere le variabili,
– Addestrare il modello,
– Misurare le prestazioni,
– Migliorare il modello con l’aiuto della funzione di costo.
Ma come possiamo misurare le prestazioni di un modello? Confrontando il modello previsto e quello effettivo? Tuttavia, questo non risolverà il problema di classificazione. Una matrice di confusione può aiutarvi ad analizzare i dati e a risolvere il problema. Cerchiamo di capire come questa tecnica aiuta il modello di apprendimento automatico.

Matrice di confusione

La tecnica della matrice di confusione aiuta a misurare le prestazioni per la classificazione dell’apprendimento automatico. Con questo tipo di modello, è possibile distinguere e classificare il modello con i valori veri noti sul set di dati di test. Il termine matrice di confusione è semplice ma confuso. Questo articolo semplificherà il concetto in modo che possiate facilmente capire e creare una matrice di confusione per conto vostro.

Calcolo della matrice di confusione

Seguite questi semplici passi per calcolare la matrice di confusione per il data mining:

Passo 1

Stimare i valori di risultato del set di dati.

Passo 2

Testare il set di dati con l’aiuto dei risultati attesi.

Passo 3

Prevedere le righe del vostro set di dati di prova.

Passo 4

Calcolare i risultati attesi e le previsioni. È necessario considerare il:
– Totale delle previsioni corrette della classe
– Totale delle previsioni errate della classe
Dopo aver eseguito questi passi, è necessario organizzare i numeri nei metodi seguenti:
– Collegare ogni riga della matrice con la classe prevista
– Corrispondere ogni colonna della matrice con la classe effettiva
– Inserire nella tabella la classificazione corretta e quella errata del modello
– Includere il totale delle previsioni corrette nella colonna delle previsioni. Inoltre, aggiungi il valore della classe nella riga prevista.
– Includere il totale delle previsioni errate nella riga delle previsioni e il valore della classe nella colonna delle previsioni.

Capire il risultato in una matrice di confusione

1. Vero positivo

Il valore reale e quello previsto sono uguali. Il valore predetto del modello è positivo, insieme a un valore effettivo positivo.

2. Vero negativo

I valori effettivi e predetti sono gli stessi. Il valore predetto del modello è negativo, insieme ad un valore effettivo negativo.

3. Falso positivo (errore di tipo 1)

I valori effettivi e predetti non sono gli stessi. Il valore predetto del modello è positivo e falsamente predetto. Tuttavia, il valore effettivo è negativo. Ci si può riferire a questo come un errore di tipo 1.

4. Falso negativo (errore di tipo 2)

Il valore effettivo e quello predetto non sono uguali. Il valore predetto del modello è negativo e falsamente predetto. Tuttavia, il valore effettivo è positivo. Ci si può riferire a questo errore come un errore di tipo 2.

Importanza della matrice di confusione

Prima di rispondere alla domanda, dovremmo capire l’ipotetico problema di classificazione. Supponiamo che stiate prevedendo il numero di persone infettate dal virus prima di mostrare i sintomi. In questo modo, è possibile isolarle facilmente e garantire una popolazione sana. Possiamo scegliere due variabili per definire la popolazione target: Infetti e non infetti.
Ora potreste pensare, perché usare una matrice di confusione quando le variabili sono troppo semplici. Bene, questa tecnica aiuta la precisione della classificazione. I dati in questo esempio sono il dataset squilibrato. Supponiamo di avere 947 punti dati negativi e tre punti dati positivi. Ora calcoleremo l’accuratezza con questa formula:

Con l’aiuto della seguente tabella, potete controllare l’accuratezza:

I valori di uscita totali saranno:
TP = 30, TN = 930, FP = 30, FN = 10
Quindi si può calcolare la precisione del modello come:

Il 96% di precisione per un modello è incredibile. Ma si può solo generare un’idea sbagliata dal risultato. Secondo questo modello, è possibile prevedere le persone infette il 96% delle volte. Tuttavia, il calcolo prevede che il 96% della popolazione non si infetterà. Tuttavia, le persone malate stanno ancora diffondendo il virus.
Questo modello sembra una soluzione perfetta per il problema, o dovremmo misurare i casi positivi e isolarli per fermare la diffusione del virus. Quindi usiamo una matrice di confusione per risolvere questi tipi di problemi. Ecco alcuni vantaggi della matrice di confusione:
– La matrice aiuta la classificazione del modello mentre si fanno le previsioni
– Questa tecnica indica il tipo e l’intuizione degli errori in modo da poter comprendere facilmente il caso
– Si può superare la restrizione con la classificazione accurata dei dati
– Le colonne della matrice di confusione rappresentano le istanze della classe prevista
– Ogni riga indicherà le istanze della classe reale
– La matrice di confusione evidenzierà gli errori che il classificatore

Matrice di confusione in Python

Ora che conoscete il concetto di matrice di confusione, potete fare pratica usando il seguente codice in Python con l’aiuto della libreria Scikit-learn.
# matrice di confusione in scikit-learn
fromsklearn.metricsimportconfusion_matrix
fromsklearn.metricsimportclassification_report

# valori effettivi
effettivi = [1,0,0,1,0,0,1,0,0,1]
# valori predetti
predetto = [1,0,0,1,0,0,0,0,1,0,0,0]

# matrice di confusione
matrice =matrice di confusione (effettivi, predetti, etichette=[1,0])
print(‘Matrice di confusione: \n’,matrice)

# ordine dei valori di risultato in sklearn
tp, fn, fp, tn=confusion_matrix(actual,predicted,labels=[1,0]).reshape(-1)
print(‘Valori di risultato: \n’, tp, fn, fp, tn)

# rapporto di classificazione per precisione, recall f1-score e accuratezza
matrix =classification_report(actual,predicted,labels=[1,0])
print(‘Rapporto di classificazione: \n’,matrice)

Conclusione

La matrice di confusione aiuta a limitare l’accuratezza del metodo di classificazione. Inoltre, evidenzia dettagli importanti sulle diverse classi. Inoltre, analizza le variabili e i dati in modo da poter confrontare i dati reali con la previsione.