Matrice di confusione nel machine learning: la tua soluzione unica



Questo articolo si concentra sulla Matrice di confusione, che è uno degli aspetti più importanti di qualsiasi algoritmo di apprendimento automatico utilizzato per valutarne l'accuratezza.

Nel , di solito abbiamo 2 diversi tipi di casi d'uso, , e problema. Confusion Matrix aiuta a calcolare l'accuratezza del modello di classificazione che indirettamente ci aiuta a descrivere le prestazioni del modello di classificazione. È il passaggio più importante quando si tratta di valutare un modello. Tratterò i seguenti argomenti in questo articolo:

1. Che cos'è una matrice di confusione?





2. Precisione e componenti della matrice di confusione

3. Precisione, richiamo e misurazione F



4. Creazione di una matrice di confusione utilizzando Python e Sklearn

Cos'è una matrice di confusione?

Una matrice di confusione è il riepilogo del confronto tra i risultati previsti e i risultati effettivi in ​​qualsiasi caso d'uso del problema di classificazione. Il riepilogo del confronto è estremamente necessario per determinare le prestazioni del modello dopo che è stato addestrato con alcuni dati di addestramento. Accuracy-Confusion-MatrixPer un caso d'uso di classificazione binaria, una matrice di confusione è una matrice 2 × 2 come mostrato di seguito
Valore previsto della classe 1 ES: 1 Valore previsto per la classe 2 ES: 0
Valore effettivo di classe 1

ES: 1

TP (vero positivo) FN (falso negativo)
Valore effettivo di classe 2



ES: 0

FP (falso positivo) TN (vero negativo)

Dalla figura sopra:
Abbiamo,

miglior java ide per linux
  • Valore effettivo della classe 1 = 1 che è simile al valore positivo in un risultato binario.
  • Valore effettivo della classe 2 = 0 che è simile a un valore negativo nel risultato binario.

L'indice del lato sinistro della matrice di confusione indica fondamentalmente i valori effettivi e la colonna superiore indica i valori previsti.

Ci sono vari componenti che esistono quando creiamo una matrice di confusione. I componenti sono menzionati di seguito

Positivo (P): Il risultato previsto è positivo (esempio: l'immagine è un gatto)

Negativo (N): il risultato previsto è negativo (esempio: le immagini non sono un gatto)

Vero positivo (TP): Qui TP indica fondamentalmente il valore previsto e il valore effettivo è 1 (Vero)

Vero negativo (TN): Qui TN indica il valore previsto e il valore effettivo è 0 (Falso)

Falso negativo (FN): Qui FN indica che il valore previsto è 0 (negativo) e il valore effettivo è 1. Qui entrambi i valori non corrispondono. Quindi è falso negativo.

Falso positivo (FP): Qui FP indica che il valore previsto è 1 (positivo) e il valore effettivo è 0. Anche in questo caso entrambi i valori non corrispondono. Quindi è falso positivo.

Precisione e componenti della matrice di confusione

Dopo aver creato la matrice di confusione e aver determinato tutti i valori dei componenti, diventa abbastanza facile per noi calcolare la precisione. Quindi, diamo un'occhiata ai componenti per capirlo meglio.
  • Precisione della classificazione

Dalla formula sopra, la somma di TP (vero positivo) e TN (vero negativo) sono i risultati previsti corretti. Quindi per calcolare la precisione in percentuale, dividiamo con tutti gli altri componenti. Tuttavia, ci sono alcuni problemi nella precisione e non possiamo dipendere completamente da esso.

Consideriamo che il nostro set di dati è completamente sbilanciato. In questo scenario, l'accuratezza del 98% può essere buona o cattiva in base alla dichiarazione del problema. Quindi abbiamo altri termini chiave che ci aiuteranno a essere sicuri dell'accuratezza che calcoliamo. I termini sono i seguenti:

  • TPR (tasso vero positivo) o sensibilità:

Il tasso Vero Positivo, noto anche come Sensibilità, misura la percentuale del Vero Positivo rispetto al Totale Positivo Attuale che è indicato da (TP + FN)

Valore previsto della classe 1 ES: 1 Valore previsto per la classe 2 ES: 0 Totale
Valore effettivo di classe 1

ES: 1

TP (vero positivo) FN (falso negativo) Positivi effettivi totali
Valore effettivo di classe 2

ES: 0

FP (falso positivo)TN (vero negativo)Negativi effettivi totali
TPR = Vero positivo / (Vero positivo + Falso negativo
  • TNR (True Negative Rate) o specificità:

Il tasso o la specificità dei veri negativi misura la proporzione di negativi effettivi rispetto ai negativi totali

Valore previsto della classe 1 ES: 1 Valore previsto per la classe 2 ES: 0 Totale
Valore effettivo di classe 1

ES: 1

TP (vero positivo)FN (falso negativo)Positivi effettivi totali
Valore effettivo di classe 2

ES: 0

FP (falso positivo) TN (vero negativo) Negativi effettivi totali

TNR = Vero negativo / (Vero negativo + Falso positivo)

  • Tasso di falsi positivi (FPR):

Il tasso di falsi positivi è la percentuale di falsi positivi previsti (FP) rispetto al numero totale di risultati positivi previsti (TP + FP).

Valore previsto della classe 1 ES: 1 Valore previsto per la classe 2 ES: 0
Valore effettivo di classe 1 EG: 1 TP (vero positivo) FN (falso negativo)
Valore effettivo di classe 2 EG: 0 FP (falso positivo) TN (vero negativo)
Somma del totale positivo previsto Somma del totale negativo previsto
FPR = falso positivo / (vero positivo + falso positivo)
  • Tasso di falsi negativi (FNR):

Il tasso di falsi negativi è la percentuale di falsi negativi previsti (FP) rispetto al numero totale di risultati negativi previsti (TN + FN).

Valore previsto della classe 1 ES: 1 Valore previsto per la classe 2 ES: 0
Valore effettivo di classe 1 EG: 1TP (vero positivo) FN (falso negativo)
Valore effettivo di classe 2 EG: 0FP (falso positivo) TN (vero negativo)
Somma del totale positivo previsto Somma del totale negativo previsto
FNR = False Negative / (False Negative + True Negative)

Precisione, richiamo e misura F.

  • Richiamare:

Un richiamo è simile al Tasso Vero Positivo ed è il rapporto tra il numero totale di valori positivi previsti correttamente (TP) e tutti i valori positivi.

  • Precisione:

La precisione indica fondamentalmente tutti i punti che il modello prevedeva essere positivi e quale percentuale di essi è effettivamente positiva.

come trovare il tipo di dati in python

Precisione e Richiamo sono risultati di metriche che si concentrano sulla classe positiva come mostrato dalle formule precedenti.

  • Misura F.

Quindi F-Measure è una tecnica che combina sia la tecnica Precision che quella Recall e utilizza Harmonic Mean al posto della solita Media Aritmetica, a causa della quale i valori estremi vengono puniti. La misura F è anche chiamata punteggio F1 ed è data dalla formula seguente.

Consideriamo un esempio e vediamo come possiamo calcolare Accuratezza, Precisione, Richiamo e il punteggio F1.

N = 165 Previsto SI Previsto NO
Attuale SÌ TP = 150 FN = 10
Attuale NO FP = 20 TN = 100
    • Precisione = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0.89
    • Richiamo = TP / (TP + FN) = 150 / (150 + 10) = 0.93
    • Precisione: TP / (TP + FP) = 150 / (150 + 20) = 0.88

  • Misura F = (2 * Recall * Precision) / (Recall + Presision) = (2 * 0,93 * 0,88) / (0,93 + 0,88) = 0.90

Creazione di una matrice di confusione utilizzando Python e Sklearn

Ora vedremo un esempio di come possiamo creare una matrice di confusione usando python insieme alla libreria sklearn.

uno. Inizialmente, creeremo un elenco dei dati effettivi e previsti per verificare l'accuratezza come mostrato di seguito

# Script Python per la creazione di matrici di confusione. dati_effettivi = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] dati_predetti = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1]

2. Dobbiamo importare la matrice di confusione dalla libreria sklearn come mostrato di seguito:

da sklearn.metrics importa confusion_matrix

3. Successivamente, creeremo la matrice di confusione come mostrato di seguito:

final_results = confusion_matrix (actual_data, predicted_data)

Quattro. Ora possiamo andare avanti e calcolare la precisione importando la libreria come mostrato di seguito:

da sklearn.metrics import accuratezza_score accuratezza = accuratezza_score (actual_data, predicted_data)

5. Infine, calcoliamo il punteggio F1 o la misura F come mostrato di seguito:

da sklearn.metrics import classification_report report = classification_report (actual_data, predicted_data)

Di seguito è riportato il codice completo:

dati_effettivi = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] dati_predetti = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1] da sklearn.metrics import confusion_matrix final_results = confusion_matrix (actual_data, predicted_data) print (final_results) da sklearn.metrics import accuratezza_score accuratezza = accuratezza_score (actual_data, predicted_data) da sklearn.metrics import classification_report report = classification_report actual_data, predicted_data) print (accuratezza) print (report)

matrix

Quindi, con questo, arriviamo alla fine di questo articolo. Spero che tutta la tua confusione sulla Matrice della confusione sia ora risolta.

Edureka's ti aiuta ad acquisire esperienza in vari algoritmi di apprendimento automatico come regressione, clustering, alberi decisionali, foresta casuale, Naïve Bayes e Q-Learning. Questo apprendimento automatico che utilizza Python Training ti espone a concetti di statistica, serie temporali e diverse classi di algoritmi di apprendimento automatico come algoritmi supervisionati, non supervisionati e di rinforzo. Durante il corso di certificazione in Data Science, risolverai casi di studio reali su media, sanità, social media, aviazione, risorse umane.