logo

Matriu de confusió en aprenentatge automàtic

En aprenentatge automàtic , la classificació és el procés de classificar un conjunt determinat de dades en diferents categories. En l'aprenentatge automàtic, per mesurar el rendiment del model de classificació, fem servir el matriu de confusió . Mitjançant aquest tutorial, entengueu la importància de la matriu de confusió.

Què és una matriu de confusió?

A matriu de confusió és una matriu que resumeix el rendiment d'un model d'aprenentatge automàtic en un conjunt de dades de prova. És un mitjà per mostrar el nombre d'instàncies precises i inexactes en funció de les prediccions del model. Sovint s'utilitza per mesurar el rendiment dels models de classificació, que tenen com a objectiu predir una etiqueta categòrica per a cada instància d'entrada.

La matriu mostra el nombre d'instàncies produïdes pel model a les dades de prova.



  • Veritables positius (TP): es produeix quan el model prediu amb precisió un punt de dades positiu.
  • Veritables negatius (TN) : es produeix quan el model prediu amb precisió un punt de dades negatiu.
  • Falsos positius (FP) : es produeix quan el model prediu un punt de dades positiu incorrectament.
  • Fals negatius (FN) : es produeix quan el model prediu erròniament un punt de dades negatiu.

Per què necessitem una matriu de confusió?

Quan s'avalua el rendiment d'un model de classificació, és essencial una matriu de confusió. Ofereix una anàlisi exhaustiva de les prediccions vertaderes positives, vertaderes negatives, falses positives i falses negatives, facilitant una comprensió més profunda de les prediccions d'un model. record, exactitud, precisió, i eficàcia global en distinció de classe. Quan hi ha una distribució de classes desigual en un conjunt de dades, aquesta matriu és especialment útil per avaluar el rendiment d'un model més enllà de les mètriques bàsiques de precisió.

Entenem la matriu de confusió amb els exemples:

Matriu de confusió Per a la classificació binària

A continuació es mostra una matriu de confusió 2X2 per al reconeixement d'imatges amb una imatge de gos o una imatge de no gos.

Real

gos

No gos

predit

gos

Veritable positiu
(TP)

Fals positiu
(FP)

No gos

Fals negatiu
(FN)

Veritable negatiu
(TN)

  • Veritable positiu (TP): Són els recomptes totals que tenen tant valors predits com reals són Dog.
  • Veritable negatiu (TN): Són els recomptes totals que tenen valors reals i predits no són gos.
  • Fals positiu (FP): És el recompte total amb predicció que és gos mentre que en realitat no és gos.
  • Fals negatiu (FN): És el recompte total amb predicció que no és gos, mentre que en realitat és gos.

Exemple de problemes de classificació binària

Índex

1

2

3

4

5

6

7

8

9

10

Real

gos

gos

gos

No gos

gos

No gos

gos

gos

No gos

int a cadena c++

No gos

predit

gos

No gos

gos

No gos

gos

gos

gos

gos

ordre per sql aleatori

No gos

No gos

Resultat

ciutat

FN

ciutat

TN

ciutat

FP

ciutat

ciutat

TN

TN

  • Recompte real de gossos = 6
  • Recomptes reals de no gossos = 4
  • Recomptes positius veritables = 5
  • Recomptes falsos positius = 1
  • Comptes negatius veritables = 3
  • Recomptes falsos negatius = 1

predit

gos

No gos


Real

gos

Veritable positiu
(TP =5)

Fals negatiu
(FN =1)

No gos

Fals positiu
(FP=1)

Veritable negatiu
(TN=3)

Mètriques basades en dades de matriu de confusió

1. Precisió

La precisió s'utilitza per mesurar el rendiment del model. És la relació entre el total d'instàncies correctes i el total d'instàncies.

Accuracy = frac {TP+TN}{TP+TN+FP+FN}

Per al cas anterior:

Precisió = (5+3)/(5+3+1+1) = 8/10 = 0,8

2. Precisió

Precisió és una mesura de la precisió de les prediccions positives d'un model. Es defineix com la relació entre les prediccions positives reals i el nombre total de prediccions positives fetes pel model.

ext{Precision} = frac{TP}{TP+FP}

Per al cas anterior:

Precisió = 5/(5+1) =5/6 = 0,8333

3. Recordar

Recorda mesura l'efectivitat d'un model de classificació per identificar totes les instàncies rellevants d'un conjunt de dades. És la relació entre el nombre d'instàncies vertaderes positives (TP) i la suma d'instàncies vertaderes positives i falses negatives (FN).

ext{Recall} = frac{TP}{TP+FN}

Per al cas anterior:

Recorda = 5/(5+1) =5/6 = 0,8333

Nota: Utilitzem la precisió quan volem minimitzar els falsos positius, crucials en escenaris com la detecció de correu brossa on classificar erròniament un missatge que no és brossa com a correu brossa és costós. I utilitzem el record quan minimitzar els falsos negatius és essencial, com en els diagnòstics mèdics, on identificar tots els casos positius reals és fonamental, fins i tot si es tradueix en alguns falsos positius.

4. F1-Score

Puntuació F1 s'utilitza per avaluar el rendiment global d'un model de classificació. És el mitjà harmònic de precisió i record,

ext{F1-Score} = frac {2 cdot Precision cdot Recall}{Precision + Recall}

Per al cas anterior:

Puntuació F1: = (2* 0,8333* 0,8333)/(0,8333+ 0,8333) = 0,8333

edat de rihanna

Equilibrim la precisió i el record amb la puntuació F1 quan cal una compensació entre minimitzar falsos positius i falsos negatius, com en els sistemes de recuperació d'informació.

5. Especificitat:

L'especificitat és una altra mètrica important en l'avaluació dels models de classificació, especialment en la classificació binària. Mesura la capacitat d'un model per identificar correctament instàncies negatives. L'especificitat també es coneix com a taxa veritable negativa.

ext{Specificity} = frac{TN}{TN+FP}

Especificitat=3/(1+3)​=3/4=0,75

6. Error de tipus 1 i tipus 2

Error de tipus 1

L'error de tipus 1 es produeix quan el model prediu una instància positiva, però en realitat és negativa. La precisió es veu afectada pels falsos positius, ja que és la relació entre els vertaders positius i la suma dels veritables positius i els falsos positius.

ext{Type 1 Error} = frac{FP}{TN+FP}

Per exemple, en un escenari d'una sala d'audiències, un error de tipus 1, sovint conegut com a fals positiu, es produeix quan el tribunal condemna per error un individu com a culpable quan, en realitat, és innocent del presumpte delicte. Aquest greu error pot tenir conseqüències profundes, conduint al càstig injust d'una persona innocent que no ha comès el delicte en qüestió. La prevenció d'errors de tipus 1 en els procediments legals és primordial per garantir que la justícia es faci amb precisió i que les persones innocents estiguin protegides de danys i càstigs injustificats.

Error de tipus 2

L'error de tipus 2 es produeix quan el model no pot predir una instància positiva. El record es veu afectat directament pels falsos negatius, ja que és la proporció dels vertaders positius a la suma de vertaders positius i falsos negatius.

En el context de les proves mèdiques, un error de tipus 2, sovint conegut com a fals negatiu, es produeix quan una prova diagnòstica no detecta la presència d'una malaltia en un pacient que la té realment. Les conseqüències d'aquest error són importants, ja que pot provocar un diagnòstic retardat i un tractament posterior.

ext{Type 2 Error} = frac{FN}{TP+FN}

La precisió posa èmfasi en minimitzar els falsos positius, mentre que el record se centra a minimitzar els falsos negatius.

Implementació de la matriu de confusió per a la classificació binària mitjançant Python

Pas 1: importa les biblioteques necessàries

Python import numpy as np from sklearn.metrics import confusion_matrix,classification_report import seaborn as sns import matplotlib.pyplot as plt>

Pas 2: creeu la matriu NumPy per a etiquetes reals i previstes

Python actual = np.array( ['Dog','Dog','Dog','Not Dog','Dog','Not Dog','Dog','Dog','Not Dog','Not Dog']) predicted = np.array( ['Dog','Not Dog','Dog','Not Dog','Dog','Dog','Dog','Dog','Not Dog','Not Dog'])>

Pas 3: Calculeu la matriu de confusió

Python cm = confusion_matrix(actual,predicted)>

Pas 4: Traceu la matriu de confusió amb l'ajuda del mapa de calor del mar

Python cm = confusion_matrix(actual,predicted) sns.heatmap(cm, annot=True, fmt='g', xticklabels=['Dog','Not Dog'], yticklabels=['Dog','Not Dog']) plt.xlabel('Prediction',fontsize=13) plt.ylabel('Actual',fontsize=13) plt.title('Confusion Matrix',fontsize=17) plt.show()>

Sortida :

Pas 5: Informe de classificacions basat en mètriques de confusió

Python print(classification_report(actual, predicted))>

Sortida :

recordatori de precisió suport de puntuació f1 Gos 0,83 0,83 0,83 6 No gos 0,75 0,75 0,75 4 precisió 0,80 10 mitjana macro 0,79 0,79 0,79 10 mitjana ponderada 0,80 0,80 0.80 0.80 0.

Matriu de confusió per a la classificació multiclasse

Ara, considerem que hi ha tres classes. A continuació es mostra una matriu de confusió 3X3 per a la imatge que té tres classes.

Aquí, TP= Veritable positiu, FP= Fals positiu, FN= Fals negatiu.

ÍndexRealpreditciutatFPFN
1GatGat100
2gosgos100
3Cavallgos011
4GatGat100
5gosgos100
6GatGat100
7gosgos100
8CavallCavall100
9CavallCavall100
10Gatgos011
  • Veritables positius (TP): 8 (1+1+0+1+1+1+1+1+1+0)
  • Falsos positius (FP): 2 (0+0+1+0+0+0+0+0+0+1)
  • Falsos negatius (FN): 2 (0+0+1+0+0+0+0+0+0+1)

A continuació es mostra una matriu de confusió 3X3 per a tres classes.

predit

Gat

gos

Cavall


Real

Gat

ciutat

FP

FN

gos

FP

ciutat

FN

Cavall

FN

FP

ciutat

Resum per a classe:

  • Per al gat: [TP=3,FP=0,FN=1]
    • Índex 1: veritable positiu (cat real, gat previst)
    • Índex 4: veritable positiu (cat real, gat previst)
    • Índex 6: veritable positiu (cat real, gat previst)
    • Índex 10: fals negatiu (gat real, gos predit)
  • Per a gos: [TP=3,FP=2,FN=0]
    • Índex 2: veritable positiu (gos real, gos predit)
    • Índex 5: veritable positiu (gos real, gos predit)
    • Índex 7: veritable positiu (gos real, gos predit)
    • Índex 10: fals positiu (gat real, gos predit)
    • Índex 3: fals positiu (cavall real, gos previst)
  • Per a cavalls: [TP=2,FP=0,FN=1]
    • Índex 8: Veritable positiu (Cavall real, Cavall previst)
    • Índex 9: Veritable positiu (Cavall real, Cavall previst)
    • Índex 3: fals negatiu (cavall real, gos previst)

Aleshores, la matriu de confusió serà:

predit

Gat

gos

Cavall


Real

Gat

TP(3)

FP(1)

FN(0)

gos

FN(0)

TP(3)

FN(1)

Cavall

exemples dfa

FN(1)

FP(1)

TP(2)

Implementació de la matriu de confusió per a la classificació binària mitjançant Python

Pas 1: importa les biblioteques necessàries

Python import numpy as np from sklearn.metrics import confusion_matrix, classification_report import seaborn as sns import matplotlib.pyplot as plt>

Pas 2: creeu la matriu NumPy per a etiquetes reals i previstes

Python actual = np.array( ['Cat', 'Dog', 'Horse', 'Cat', 'Dog', 'Cat', 'Dog', 'Horse', 'Horse', 'Cat']) predicted = np.array( ['Cat', 'Dog', 'Dog', 'Cat', 'Dog', 'Cat', 'Dog', 'Horse', 'Horse', 'Dog'])>

Pas 3: Calculeu la matriu de confusió

Python cm = confusion_matrix(actual,predicted)>

Pas 4: Traceu la matriu de confusió amb l'ajuda del mapa de calor del mar

Python cm = confusion_matrix(actual,predicted) sns.heatmap(cm, annot=True, fmt='g', xticklabels=['Cat', 'Dog', 'Horse'], yticklabels=['Cat', 'Dog', 'Horse']) plt.xlabel('Prediction', fontsize=13) plt.ylabel('Actual', fontsize=13) plt.title('Confusion Matrix', fontsize=17) plt.show()>

Sortida:

Pas 5: Informe de classificacions basat en mètriques de confusió

Python print(classification_report(actual, predicted))>

Sortida :

recordatori de precisió suport de puntuació f1 Gat 1,00 0,75 0,86 4 Gos 0,60 1,00 0,75 3 Cavall 1,00 0,67 0,80 3 precisió 0,80 10 mitjana macro 0,87 0,81 0,80 0,81 0,80 g 10,80 ponderada 10,80 ponderada

Conclusió

En resum, la matriu de confusió és un instrument essencial per avaluar l'efectivitat dels models de classificació. La informació sobre l'exactitud, la precisió, el record i l'eficàcia general d'un model en la classificació d'instàncies es proporciona mitjançant l'anàlisi exhaustiva de les prediccions positius vertaders, negatius veritables, positius falsos i fals negatius que ofereix. L'article proporciona exemples per il·lustrar el càlcul de cada mètrica i discuteix la seva importància. També va demostrar com es poden implementar matrius de confusió a Python per a escenaris de classificació binaris i multiclasse. Els professionals poden prendre decisions ben informades pel que fa al rendiment del model, sobretot quan es tracten amb distribucions de classes desequilibrades, comprenent i aplicant aquestes mètriques.

Preguntes freqüents sobre Confusion Matrix

P. Com interpretar una matriu de confusió?

Una matriu de confusió resumeix el rendiment d'un model de classificació, amb entrades que representen casos veritables de positiu, veritable negatiu, fals positiu i fals negatiu, proporcionant informació sobre la precisió i els errors del model.

P. Quins són els avantatges d'utilitzar la matriu de confusió?

La matriu de confusió proporciona una avaluació completa del rendiment d'un model de classificació, oferint informació sobre els veritables positius, els veritables negatius, els falsos positius i els falsos negatius, ajudant a l'anàlisi matisada més enllà de la precisió bàsica.

Q. Quins són alguns exemples d'aplicacions de matriu de confusió?

Les matrius de confusió troben aplicacions en diversos camps, com ara el diagnòstic mèdic (identificació de veritables/falsos positius/negatius per a malalties), la detecció de fraus, l'anàlisi de sentiments i l'avaluació de la precisió del reconeixement d'imatges.

P. Què és el diagrama de matriu de confusió?

Un diagrama de matriu de confusió representa visualment el rendiment d'un model de classificació. Mostra valors vertaders positius, veritables negatius, fals positius i fals negatius en un format de matriu estructurada.

P. Quins són els tres valors de la matriu de confusió?

Els tres valors de la matriu de confusió són vertaders positius (instàncies positives predites correctament), veritables negatius (instàncies negatives predites correctament) i fals positius (instàncies positives predites incorrectament).