Matricea confuziei în învățarea automată: soluția dvs. unică



Acest articol se concentrează pe Confusion Matrix, care este unul dintre cele mai importante aspecte ale oricărui algoritm de învățare automată utilizat pentru a evalua acuratețea acestuia.

În , avem de obicei 2 tipuri diferite de cazuri de utilizare, , și problemă. Confusion Matrix ajută la calcularea acurateței modelului de clasificare, ceea ce ne ajută indirect să descriem performanța modelului de clasificare. Este cel mai important pas atunci când vine vorba de evaluarea unui model. Voi acoperi următoarele subiecte în acest articol:

1. Ce este o matrice de confuzie?





2. Precizia și componentele matricei de confuzie

3. Precizie, rechemare și măsurare F



4. Crearea unei matrice de confuzie folosind Python și Sklearn

Ce este o matrice de confuzie?

O matrice de confuzie este rezumatul comparativ al rezultatelor prezise și al rezultatelor reale în orice caz de utilizare a problemei de clasificare. Rezumatul comparației este extrem de necesar pentru a determina performanța modelului după ce acesta este instruit cu unele date de instruire. Accuracy-Confusion-MatrixPentru un caz de utilizare a clasificării binare, o matrice de confuzie este o matrice 2 × 2 care este așa cum se arată mai jos
Valoarea estimată pentru clasa 1 EG: 1 Valoarea estimată pentru clasa 2 EG: 0
Valoarea reală a clasei 1

EG: 1

TP (True Positive) FN (fals negativ)
Valoarea reală a clasei 2



EG: 0

FP (fals pozitiv) TN (Adevărat negativ)

Din figura de mai sus:
Noi avem,

  • Valoarea reală a clasei 1 = 1, care este similară cu valoarea pozitivă într-un rezultat binar.
  • Valoarea reală a clasei 2 = 0, care este similară cu o valoare negativă a rezultatului binar.

Indicele din partea stângă a matricei de confuzie indică practic valorile reale, iar coloana de sus indică valorile previzionate.

Există diferite componente care există atunci când creăm o matrice de confuzie. Componentele sunt menționate mai jos

conversie tip în c ++

Pozitiv (P): Rezultatul prezis este pozitiv (exemplu: imaginea este o pisică)

Negativ (N): rezultatul prezis este negativ (Exemplu: Imaginile nu sunt o pisică)

Adevărat pozitiv (TP): Aici TP indică practic valorile prezise și efectivele sunt 1 (Adevărat)

Adevărat negativ (TN): Aici TN indică valoarea prevăzută și valoarea reală este 0 (Fals)

Fals negativ (FN): Aici FN indică că valoarea estimată este 0 (negativă) și valoarea reală este 1. Aici ambele valori nu se potrivesc. Prin urmare, este fals negativ.

Fals pozitiv (FP): Aici FP indică că valoarea estimată este 1 (pozitivă), iar valoarea reală este 0. Aici din nou ambele valori nu se potrivesc. Prin urmare, este fals pozitiv.

Precizia și componentele matricei de confuzie

După ce se creează matricea de confuzie și determinăm toate valorile componentelor, devine destul de ușor pentru noi să calculăm acuratețea. Deci, să aruncăm o privire asupra componentelor pentru a înțelege mai bine acest lucru.
  • Precizia clasificării

Din formula de mai sus, suma TP (True Positive) și TN (True Negative) sunt rezultatele prezise corect. Prin urmare, pentru a calcula precizia în procente, împărțim cu toate celelalte componente. Cu toate acestea, există unele probleme în ceea ce privește acuratețea și nu putem depinde complet de ea.

Să considerăm că setul nostru de date este complet dezechilibrat. În acest scenariu, o precizie de 98% poate fi bună sau rea pe baza declarației de problemă. Prin urmare, mai avem câțiva termeni cheie care ne vor ajuta să fim siguri de acuratețea pe care o calculăm. Termenii sunt cei dați mai jos:

  • TPR (True Positive Rate) sau sensibilitate:

Rata pozitivă adevărată, cunoscută și sub denumirea de sensibilitate, măsoară procentajul pozitivului adevărat în raport cu pozitivele reale reale, care este indicat de (TP + FN)

Valoarea estimată pentru clasa 1 EG: 1 Valoarea estimată pentru clasa 2 EG: 0 Total
Valoarea reală a clasei 1

EG: 1

TP (True Positive) FN (fals negativ) Total pozitive reale
Valoarea reală a clasei 2

EG: 0

FP (fals pozitiv)TN (Adevărat negativ)Total negative reale
TPR = True Positive / (Adevărat pozitiv + fals negativ
  • TNR (True Negative Rate) sau specificitate:

Rata negativă adevărată sau specificitatea măsoară proporția negativelor reale față de totalul negativelor

Valoarea estimată pentru clasa 1 EG: 1 Valoarea estimată pentru clasa 2 EG: 0 Total
Valoarea reală a clasei 1

EG: 1

TP (True Positive)FN (fals negativ)Total pozitive reale
Valoarea reală a clasei 2

EG: 0

FP (fals pozitiv) TN (Adevărat negativ) Total negative reale

TNR = Adevărat negativ / (Adevărat negativ + fals pozitiv)

  • Rată fals pozitivă (FPR):

Rata fals pozitivă este procentul de predicție fals pozitivă (FP) la numărul total de rezultate pozitive preduse (TP + FP).

Valoarea estimată pentru clasa 1 EG: 1 Valoarea estimată pentru clasa 2 EG: 0
Valoarea reală a clasei 1 EG: 1 TP (True Positive) FN (fals negativ)
Valoarea reală a clasei 2 EG: 0 FP (fals pozitiv) TN (Adevărat negativ)
Suma totală previzionată pozitivă Suma totalului negativ anticipat
FPR = False Positive / (True Positive + False Positive)
  • Rată falsă negativă (FNR):

Rata falsă negativă este procentul de predicție falsă negativă (FP) la numărul total de rezultate negative preduse (TN + FN).

Valoarea estimată pentru clasa 1 EG: 1 Valoarea estimată pentru clasa 2 EG: 0
Valoarea reală a clasei 1 EG: 1TP (True Positive) FN (fals negativ)
Valoarea reală a clasei 2 EG: 0FP (fals pozitiv) TN (Adevărat negativ)
Suma totală previzionată pozitivă Suma totalului negativ anticipat
FNR = fals negativ / (fals negativ + adevărat negativ)

Precizie, reamintire și măsură F

  • Reamintim:

O rechemare este similară cu rata pozitivă adevărată și este raportul dintre numărul total de valori pozitive corect prezise (TP) și toate valorile pozitive.

  • Precizie:

Precizia indică practic toate punctele pe care modelul le-a prezis pozitive și ce procent din acestea sunt de fapt pozitive.

Precizia și Recall sunt rezultate ale valorilor care se concentrează pe clasa pozitivă, după cum se arată din formulele de mai sus.

  • F-Măsură

Deci F-Measure este o tehnică care combină atât tehnica de precizie, cât și tehnica Recall și folosește media armonică în locul mediei aritmetice obișnuite, datorită căreia valorile extreme sunt pedepsite. Măsura F este, de asemenea, numită scor F1 și este dată de formula de mai jos.

Să luăm în considerare un exemplu și să vedem cum putem calcula Precizia, Precizia, Recall și scorul F1.

N = 165 Prevăzut DA Prevăzut NU
DA reală TP = 150 FN = 10
Curentul nr FP = 20 TN = 100
    • Precizie = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0,89
    • Recall = TP / (TP + FN) = 150 / (150 + 10) = 0,93
    • Precizie: TP / (TP + FP) = 150 / (150 + 20) = 0,88

  • F-măsură = (2 * Recall * Precision) / (Recall + Presision) = (2 * 0,93 * 0,88) / (0,93 + 0,88) = 0,90

Crearea unei matrice de confuzie folosind Python și Sklearn

Acum vom vedea un exemplu despre cum putem crea o matrice de confuzie folosind python împreună cu biblioteca sklearn.

unu. Inițial, vom crea o listă a datelor reale și a celor prevăzute pentru a verifica acuratețea așa cum se arată mai jos

# Script Python pentru crearea matricei de confuzie. 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. Trebuie să importăm matricea de confuzie din biblioteca sklearn așa cum se arată mai jos:

din sklearn.metrics import confusion_matrix

3. Apoi, vom crea matricea de confuzie așa cum se arată mai jos:

rezultate_finale = matrice_confuzie (date_actual, date_predite)

Patru. Acum putem continua și calcula acuratețea importând biblioteca așa cum se arată mai jos:

din sklearn.metrics import accurate_score precision = accurate_score (actual_data, predicted_data)

5. În cele din urmă, calculăm scorul F1 sau F-Măsura așa cum se arată mai jos:

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

Mai jos este Codul 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] de la 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 actual_data, predicted_data) print (acuratețe) print (report)

matrix

Deci, odată cu aceasta, ajungem la sfârșitul acestui articol. Sper că toată confuzia dvs. despre Matricea confuziei este acum rezolvată.

Edureka’s vă ajută să câștigați expertiză în diferiți algoritmi de învățare automată, cum ar fi regresia, gruparea, arborii de decizie, pădurile aleatorii, Naïve Bayes și Q-Learning. Această învățare automată utilizând Python Training vă expune la concepte de statistică, serii temporale și diferite clase de algoritmi de învățare automată, cum ar fi algoritmi supravegheați, nesupravegheați și de întărire. Pe parcursul cursului de certificare a științei datelor, veți rezolva studii de caz din viața reală despre mass-media, asistență medicală, social media, aviație, resurse umane.