Matriu de confusió en aprenentatge automàtic: la vostra solució única

Aquest article se centra en Confusion Matrix, que és un dels aspectes més importants de qualsevol algorisme d'aprenentatge automàtic que s'utilitza per avaluar la seva precisió.

En , normalment tenim dos tipus diferents de casos d’ús, , i problema. Confusion Matrix ajuda a calcular la precisió del model de classificació, cosa que indirectament ens ajuda a descriure el rendiment del model de classificació. És el pas més important a l’hora d’avaluar un model. En aquest article tractaré els temes següents:



1. Què és una matriu de confusió?



2. Precisió i components de la matriu de confusió

3. Precisió, recuperació i mesura F



4. Crear una matriu de confusió mitjançant Python i Sklearn

Què és una matriu de confusió?

Una matriu de confusió és el resum de comparació dels resultats predits i els resultats reals en qualsevol cas d'ús de problemes de classificació. El resum de la comparació és extremadament necessari per determinar el rendiment del model després d’haver estat entrenat amb algunes dades d’entrenament. Accuracy-Confusion-MatrixPer a un cas d'ús de classificació binària, una matriu de confusió és una matriu 2 × 2 que es mostra a continuació
Valor predit de classe 1 EG: 1 Valor predit de classe 2 EG: 0
Valor real de la classe 1

EG: 1

TP (True Positive) FN (fals negatiu)
Valor real de la classe 2



EG: 0

FP (falsos positius) TN (veritable negatiu)

De la figura anterior:
Tenim,

  • Valor real de la classe 1 = 1, que és similar al valor positiu en un resultat binari.
  • Valor real de la classe 2 = 0, que és similar a un valor negatiu en el resultat binari.

L’índex lateral esquerre de la matriu de confusió bàsicament indica els valors reals i la columna superior indica els valors predits.

Hi ha diversos components que existeixen quan creem una matriu de confusió. Els components s’esmenten a continuació

funció de potència a Java per a enters

Positiu (P): El resultat previst és positiu (exemple: la imatge és un gat)

Negatiu (N): el resultat previst és negatiu (exemple: les imatges no són un gat)

Positiu vertader (TP): Aquí TP indica bàsicament el valor predit i els valors reals són 1 (cert)

Negatiu veritable (TN): Aquí TN indica el valor predit i el valor real és 0 (fals)

Fals negatius (FN): Aquí FN indica que el valor predit és 0 (negatiu) i el valor real és 1. Aquí els dos valors no coincideixen. Per tant, és fals negatiu.

Fals positius (FP): Aquí FP indica que el valor predit és 1 (positiu) i que el valor real és 0. Aquí, de nou, els dos valors no coincideixen. Per tant, és Fals Positiu.

Precisió i components de la matriu de confusió

Després de crear la matriu de confusió i determinar tots els valors dels components, ens resulta força fàcil calcular la precisió. Per tant, fem una ullada als components per entendre-ho millor.
  • Precisió de la classificació

A partir de la fórmula anterior, la suma de TP (True Positive) i el TN (True Negative) són els resultats previstos correctes. Per tant, per calcular la precisió en percentatge, dividim amb la resta de components. No obstant això, hi ha alguns problemes en la precisió i no en podem dependre completament.

Considerem que el nostre conjunt de dades està completament desequilibrat. En aquest escenari, la precisió del 98% pot ser bona o dolenta segons la declaració del problema. Per tant, tenim alguns termes clau més que ens ajudaran a estar segurs de la precisió que calculem. Els termes són els següents:

  • TPR (True Positive Rate) o sensibilitat:

La taxa de positiu vertader, que també es coneix com a sensibilitat, mesura el percentatge de positiu vertader respecte al total de positius reals que s’indica amb (TP + FN)

Valor predit de classe 1 EG: 1 Valor predit de classe 2 EG: 0 total
Valor real de la classe 1

EG: 1

TP (True Positive) FN (fals negatiu) Positius reals totals
Valor real de la classe 2

EG: 0

FP (falsos positius)TN (veritable negatiu)Negatius reals totals
TPR = True Positive / (True Positive + False Negative
  • TNR (True Negative Rate) o especificitat:

La taxa o especificitat negatives reals mesura la proporció de negatius reals respecte al total de negatius

Valor predit de classe 1 EG: 1 Valor predit de classe 2 EG: 0 total
Valor real de la classe 1

EG: 1

TP (True Positive)FN (fals negatiu)Positius reals totals
Valor real de la classe 2

EG: 0

FP (falsos positius) TN (veritable negatiu) Negatius reals totals

TNR = negatiu veritable / (negatiu veritable + fals positiu)

  • Percentatge de falsos positius (FPR):

La taxa de falsos positius és el percentatge de predicció de falsos positius (FP) al nombre total de resultats positius predits (TP + FP).

Valor predit de classe 1 EG: 1 Valor predit de classe 2 EG: 0
Valor actual de la classe 1 EG: 1 TP (True Positive) FN (fals negatiu)
Valor actual de la classe 2 EG: 0 FP (falsos positius) TN (veritable negatiu)
Suma del total previst positiu Suma del total negatiu previst
FPR = False Positive / (True Positive + False Positive)
  • Percentatge negatiu fals (FNR):

La taxa de falsos negatius és el percentatge de predicció de falsos negatius (FP) al nombre total de resultats negatius predits (TN + FN).

Valor predit de classe 1 EG: 1 Valor predit de classe 2 EG: 0
Valor actual de la classe 1 EG: 1TP (True Positive) FN (fals negatiu)
Valor actual de la classe 2 EG: 0FP (falsos positius) TN (veritable negatiu)
Suma del total previst positiu Suma del total negatiu previst
FNR = fals negatiu / (fals negatiu + veritable negatiu)

Precisió, recuperació i mesura F.

  • Recordem:

Un record és similar al True Positive Rate i és la proporció del nombre total de valors positius predits correctament (TP) a tots els valors positius.

  • Precisió:

La precisió bàsicament indica tots els punts que el model va predir que seran positius i quin percentatge d’ells són realment positius.

Precision i Recall són resultats de mètriques que se centren en la classe positiva tal com es mostra a partir de les fórmules anteriors.

  • F-Mesura

Per tant, F-Measure és una tècnica que combina tant la tècnica de precisió com la de recuperació i que utilitza la mitjana harmònica en lloc de la mitjana aritmètica habitual, a causa de la qual es castiguen els valors extrems. La mesura F també s’anomena puntuació F1 i ve donada per la fórmula següent.

Considerem un exemple i veiem com podem calcular la precisió, la precisió, la recuperació i la puntuació F1.

N = 165 SÍ predit NO predit
SÍ real TP = 150 FN = 10
actual NO FP = 20 TN = 100
    • Precisió = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0.89
    • Recuperació = TP / (TP + FN) = 150 / (150 + 10) = 0.93
    • Precisió: TP / (TP + FP) = 150 / (150 + 20) = 0.88

  • Mesura F = (2 * Recall * Precision) / (Recall + Presision) = (2 * 0.93 * 0.88) / (0.93 + 0.88) = 0.90

Creació d’una matriu de confusió mitjançant Python i Sklearn

Ara veurem un exemple de com podem crear una matriu de confusió mitjançant python juntament amb la biblioteca sklearn.

1. Inicialment, crearem una llista de les dades reals i les previstes per comprovar la precisió tal com es mostra a continuació

# Script Python per a la creació de matrius de confusió. actual_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] predicted_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1]

2. Hem d’importar la matriu de confusió de la biblioteca sklearn com es mostra a continuació:

des de sklearn.metrics importeu confusion_matrix

3. A continuació, crearem la matriu de confusió com es mostra a continuació:

final_results = confusion_matrix (dades_actuals, dades_predictes)

4. Ara podem seguir endavant i calcular la precisió important la biblioteca com es mostra a continuació:

des de la importació sklearn.metrics accurate_score precision = accurate_score (actual_data, predicted_data)

5. Finalment, calculem la puntuació F1 o la mesura F com es mostra a continuació:

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

A continuació es mostra el codi complet:

actual_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] predicted_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1] a partir de sklearn.metrics import confusion_matrix final_results = confusion_matrix (actual_data, predicted_data) print (final_results) from sklearn.metrics import accurate_score precision = accurate_score (actual_data, predicted_data) from sklearn.metrics import class_report report = classification_report ( actual_data, predicted_data) imprimir (precisió) imprimir (informe)

matrix

Així, amb això, arribem al final d’aquest article. Espero que tota la vostra confusió sobre la matriu de confusió estigui resolta.

Edureka’s us ajuda a obtenir experiència en diversos algoritmes d’aprenentatge automàtic, com ara regressió, agrupació, arbres de decisió, boscos aleatoris, Naïve Bayes i Q-Learning. Aquest aprenentatge automàtic mitjançant Python Training us exposa a conceptes d’estadístiques, sèries temporals i diferents classes d’algoritmes d’aprenentatge automàtic, com ara algorismes supervisats, no supervisats i de reforç. Al llarg del curs de certificació de ciències de dades, resoldreu estudis de casos reals sobre mitjans de comunicació, salut, xarxes socials, aviació i recursos humans.