În învățare automată , clasificarea este procesul de clasificare a unui set dat de date în diferite categorii. În învățarea automată, pentru a măsura performanța modelului de clasificare, folosim matricea de confuzie . Prin acest tutorial, înțelegeți semnificația matricei de confuzie.
Ce este o matrice de confuzie?
A matricea de confuzie este o matrice care rezumă performanța unui model de învățare automată pe un set de date de testare. Este un mijloc de afișare a numărului de instanțe precise și inexacte pe baza predicțiilor modelului. Este adesea folosit pentru a măsura performanța modelelor de clasificare, care urmăresc să prezică o etichetă categorială pentru fiecare instanță de intrare.
Matricea afișează numărul de instanțe produse de model pe datele de testare.
- Adevărate pozitive (TP): apar atunci când modelul prezice cu acuratețe un punct de date pozitiv.
- Adevărate negative (TN) : apar atunci când modelul prezice cu precizie un punct de date negativ.
- Fals pozitive (FP) : apar atunci când modelul prezice incorect un punct de date pozitiv.
- Fals negative (FN) : apar atunci când modelul prezice greșit un punct de date negativ.
De ce avem nevoie de o matrice de confuzie?
Atunci când se evaluează performanța unui model de clasificare, o matrice de confuzie este esențială. Oferă o analiză amănunțită a predicțiilor adevărate pozitive, adevărate negative, fals pozitive și fals negative, facilitând o înțelegere mai profundă a modelului. reamintire, acuratețe, precizie, și eficacitatea generală în distincţia de clasă. Atunci când există o distribuție neuniformă a clasei într-un set de date, această matrice este deosebit de utilă în evaluarea performanței unui model dincolo de valorile de bază ale preciziei.
Să înțelegem matricea de confuzie cu exemplele:
Matricea de confuzie Pentru clasificarea binară
O matrice de confuzie 2X2 este afișată mai jos pentru recunoașterea imaginii având o imagine Dog sau Not Dog.
| Real | ||
|---|---|---|---|
Câine | Nu Câine | ||
Prevăzut | Câine | Adevărat pozitiv | Fals pozitiv |
Nu Câine șir de matrice c | Fals Negativ | Adevărat negativ |
- Adevărat pozitiv (TP): Numărul total care are atât valorile prezise, cât și cele reale sunt Dog.
- Adevărat negativ (TN): Numărul total care are atât valorile prezise, cât și cele reale sunt Not Dog.
- Fals pozitiv (FP): Numărul total care prezice este câine în timp ce de fapt nu este câine.
- Fals Negativ (FN): Numărul total care prezice nu este câine, în timp ce de fapt, este câine.
Exemplu pentru probleme de clasificare binară
Index | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
Real | Câine | Câine | Câine | Nu Câine | Câine | Nu Câine | Câine | Câine | Nu Câine | Nu Câine |
Prevăzut | Câine | Nu Câine | Câine | Nu Câine | Câine | Câine | Câine | Câine | Nu Câine | Nu Câine |
Rezultat | Oraș | FN | Oraș | TN | Oraș | FP | Oraș | Oraș | TN subșir șir | TN |
- Numărul real de câini = 6
- Numărul real nu de câini = 4
- Numărări adevărate pozitive = 5
- Numărări false pozitive = 1
- Numărări adevărate negative = 3
- Numărări false negative = 1
| Prevăzut | ||
|---|---|---|---|
Câine | Nu Câine | ||
Real | Câine | Adevărat pozitiv | Fals Negativ |
Nu Câine | Fals pozitiv | Adevărat negativ |
Valori bazate pe Confusion Matrix Data
1. Precizie
Precizia este utilizată pentru a măsura performanța modelului. Este raportul dintre numărul total de instanțe corecte și numărul total de instanțe.
Pentru cazul de mai sus:
Precizie = (5+3)/(5+3+1+1) = 8/10 = 0,8
java scan.nextstring
2. Precizie
Precizie este o măsură a cât de precise sunt predicțiile pozitive ale unui model. Este definit ca raportul dintre predicțiile pozitive adevărate și numărul total de predicții pozitive făcute de model.
Pentru cazul de mai sus:
Precizie = 5/(5+1) =5/6 = 0,8333
3. Rechemare
Amintiți-vă măsoară eficiența unui model de clasificare în identificarea tuturor instanțelor relevante dintr-un set de date. Este raportul dintre numărul de instanțe adevărate pozitive (TP) și suma instanțelor adevărate pozitive și fals negative (FN).
Pentru cazul de mai sus:
Rechemare = 5/(5+1) =5/6 = 0,8333
Notă: Folosim precizia atunci când dorim să minimizăm falsele pozitive, cruciale în scenarii precum detectarea e-mailurilor spam în care clasificarea greșită a unui mesaj non-spam ca spam este costisitoare. Și folosim reamintirea atunci când minimizarea fals-negative este esențială, ca în diagnosticele medicale, unde identificarea tuturor cazurilor pozitive reale este critică, chiar dacă are ca rezultat unele fals pozitive.
4. F1-Scor
Scor F1 este utilizat pentru a evalua performanța generală a unui model de clasificare. Este mijlocul armonic al preciziei și reamintirii,
Pentru cazul de mai sus:
Scor F1: = (2* 0,8333* 0,8333)/( 0,8333+ 0,8333) = 0,8333
Echilibrăm precizia și reamintirea cu scorul F1 atunci când este necesar un compromis între minimizarea fals pozitive și false negative, cum ar fi în sistemele de recuperare a informațiilor.
5. Specific:
Specificitatea este o altă măsură importantă în evaluarea modelelor de clasificare, în special în clasificarea binară. Măsoară capacitatea unui model de a identifica corect cazurile negative. Specificitatea este, de asemenea, cunoscută sub denumirea de rata negativă adevărată.
Specificitate=3/(1+3)=3/4=0,75
6. Eroare de tip 1 și tip 2
Eroare de tip 1
Eroarea de tip 1 apare atunci când modelul prezice o instanță pozitivă, dar este de fapt negativă. Precizia este afectată de false pozitive, deoarece este raportul dintre adevăratele pozitive și suma dintre adevăratele pozitive și falsele pozitive.
De exemplu, într-un scenariu de sală de judecată, o eroare de tip 1, deseori denumită fals pozitiv, apare atunci când instanța condamnă în mod eronat o persoană ca vinovat atunci când, în adevăr, este nevinovat de presupusa crimă. Această greșeală gravă poate avea consecințe profunde, ducând la pedepsirea pe nedrept a unei persoane nevinovate care nu a săvârșit infracțiunea în cauză. Prevenirea erorilor de tip 1 în procedurile judiciare este esențială pentru a se asigura că justiția este îndeplinită cu acuratețe și că persoanele nevinovate sunt protejate de vătămări și pedepse nejustificate.
Eroare de tip 2
Eroarea de tip 2 apare atunci când modelul nu reușește să prezică o instanță pozitivă. Reamintirea este direct afectată de fals negative, deoarece este raportul dintre adevăratele pozitive și suma dintre adevăratele pozitive și falsele negative.
În contextul testării medicale, o eroare de tip 2, adesea cunoscută ca fals negativ, apare atunci când un test de diagnostic nu reușește să detecteze prezența unei boli la un pacient care o are cu adevărat. Consecințele unei astfel de erori sunt semnificative, deoarece poate avea ca rezultat un diagnostic întârziat și un tratament ulterior.
Precizia pune accent pe minimizarea fals-pozitivelor, în timp ce reamintirea se concentrează pe minimizarea fals-negative.
Implementarea matricei de confuzie pentru clasificarea binară folosind Python
Pasul 1: importați bibliotecile necesare
Piton import numpy as np from sklearn.metrics import confusion_matrix,classification_report import seaborn as sns import matplotlib.pyplot as plt> Pasul 2: Creați matricea NumPy pentru etichetele reale și prezise
Piton 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'])> Pasul 3: Calculați matricea de confuzie
Piton cm = confusion_matrix(actual,predicted)> Pasul 4: Trasează matricea de confuzie cu ajutorul hărții termice seaborn
Piton 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()> Ieșire :
Pasul 5: Raportul de clasificări bazat pe valorile de confuzie
Piton print(classification_report(actual, predicted))> Ieșire :
rechemare de precizie suport scor f1 Câine 0,83 0,83 0,83 6 Nu Câine 0,75 0,75 0,75 4 precizie 0,80 10 medie macro 0,79 0,79 0,79 10 medie ponderată 0,80 0,80 0.80 0.80 0.
Matrice de confuzie pentru clasificarea multiclasă
Acum, să considerăm că există trei clase. O matrice de confuzie 3X3 este prezentată mai jos pentru imaginea care are trei clase.
Aici, TP= Adevărat Pozitiv, FP= Fals Pozitiv, FN= Fals Negativ.
| Index | Real | Prevăzut | Oraș | FP | FN |
|---|---|---|---|---|---|
| 1 | Pisică | Pisică | 1 | 0 | 0 |
| 2 | Câine | Câine | 1 | 0 | 0 |
| 3 | Cal | Câine | 0 | 1 | 1 |
| 4 | Pisică | Pisică | 1 | 0 | 0 |
| 5 | Câine | Câine | 1 | 0 | 0 |
| 6 | Pisică | Pisică | 1 | 0 | 0 |
| 7 | Câine | Câine | 1 | 0 | 0 |
| 8 | Cal | Cal | 1 | 0 | 0 |
| 9 | Cal | Cal | 1 | 0 | 0 |
| 10 | Pisică | Câine | 0 | 1 | 1 |
- Adevărate pozitive (TP): 8 (1+1+0+1+1+1+1+1+1+0)
- Fals pozitive (FP): 2 (0+0+1+0+0+0+0+0+0+1)
- False negative (FN): 2 (0+0+1+0+0+0+0+0+0+1)
O matrice de confuzie 3X3 este prezentată mai jos pentru trei clase.
| Prevăzut | |||
|---|---|---|---|---|
Pisică | Câine | Cal | ||
| Pisică cum să obțineți emoji-uri Apple pe Android | Oraș | FP | FN |
Câine | FP | Oraș | FN | |
Cal | FN | FP | Oraș |
Rezumat la nivel de clasă:
- Pentru pisică: [TP=3,FP=0,FN=1]
- Index 1: Adevărat pozitiv (pisica reală, pisica prezisă)
- Index 4: Adevărat pozitiv (pisica reală, pisica prezis)
- Index 6: Adevărat pozitiv (pisica reală, pisica prezisă)
- Index 10: fals negativ (pisica reală, câine prezis)
- Pentru câine: [TP=3,FP=2,FN=0]
- Index 2: Adevărat pozitiv (câine real, câine prezis)
- Index 5: Adevărat pozitiv (câine real, câine prezis)
- Index 7: Adevărat pozitiv (câine real, câine prezis)
- Index 10: fals pozitiv (pisica reală, câine prezis)
- Index 3: fals pozitiv (cal real, câine prezis)
- Pentru cal: [TP=2,FP=0,FN=1]
- Index 8: Adevărat pozitiv (cal real, cal prezis)
- Index 9: Adevărat pozitiv (Cal real, Cal prezis)
- Index 3: fals negativ (cal real, câine prezis)
Apoi, matricea de confuzie va fi:
| Prevăzut | |||
|---|---|---|---|---|
Pisică | Câine | Cal | ||
| Pisică | TP(3) | FP(1) | FN(0) |
Câine | FN(0) cum să descărcați video de pe youtube vlc | TP(3) | FN(1) | |
Cal | FN(1) | FP(1) | TP(2) |
Implementarea matricei de confuzie pentru clasificarea binară folosind Python
Pasul 1: importați bibliotecile necesare
Piton import numpy as np from sklearn.metrics import confusion_matrix, classification_report import seaborn as sns import matplotlib.pyplot as plt> Pasul 2: Creați matricea NumPy pentru etichetele reale și prezise
Piton 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'])> Pasul 3: Calculați matricea de confuzie
Piton cm = confusion_matrix(actual,predicted)> Pasul 4: Trasează matricea de confuzie cu ajutorul hărții termice seaborn
Piton 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()> Ieșire:
Pasul 5: Raportul de clasificări bazat pe valorile confuziei
Piton print(classification_report(actual, predicted))> Ieșire :
Precizie recall f1-score support Pisică 1,00 0,75 0,86 4 Câine 0,60 1,00 0,75 3 Cal 1,00 0,67 0,80 3 precizie 0,80 10 macro medie 0,87 0,81 0,80 0,81 0,80 g 188 0,80 ponderat
Concluzie
În concluzie, matricea de confuzie este un instrument esențial pentru evaluarea eficacității modelelor de clasificare. Perspectivele privind acuratețea, precizia, reamintirea și eficacitatea generală a unui model în clasificarea cazurilor sunt oferite de analiza amănunțită a predicțiilor adevărate pozitive, adevărate negative, fals pozitive și fals negative pe care le oferă. Articolul a oferit exemple pentru a ilustra calculul fiecărei valori și a discutat despre importanța acesteia. De asemenea, a demonstrat modul în care matricele de confuzie pot fi implementate în Python pentru scenarii de clasificare binară și multiclasă. Practicienii pot lua decizii bine informate cu privire la performanța modelului - în special atunci când se ocupă de distribuțiile de clase dezechilibrate - prin înțelegerea și aplicarea acestor valori.
Întrebări frecvente despre Confusion Matrix
Î. Cum se interpretează o matrice de confuzie?
O matrice de confuzie rezumă performanța unui model de clasificare, cu intrări reprezentând instanțe adevărate pozitive, adevărate negative, fals pozitive și fals negative, oferind informații despre acuratețea și erorile modelului.
Î. Care sunt avantajele utilizării matricei Confusion?
Matricea de confuzie oferă o evaluare cuprinzătoare a performanței unui model de clasificare, oferind perspective asupra pozitive adevărate, negative adevărate, pozitive false și negative false, ajutând analiza nuanțată dincolo de acuratețea de bază.
Q. Care sunt câteva exemple de aplicații ale matricei de confuzie?
Matricele de confuzie găsesc aplicații în diverse domenii, inclusiv diagnosticul medical (identificarea pozitive/negative adevărate/false pentru boli), detectarea fraudelor, analiza sentimentelor și evaluarea acurateței recunoașterii imaginii.
Î. Ce este diagrama matricei de confuzie?
O diagramă matrice de confuzie reprezintă vizual performanța unui model de clasificare. Afișează valorile adevărate pozitive, adevărate negative, fals pozitive și fals negative într-un format de matrice structurată.
Î. Care sunt cele trei valori ale matricei de confuzie?
Cele trei valori ale matricei de confuzie sunt pozitive adevărate (instanțele pozitive prezise corect), negative adevărate (instanțele negative prezise corect) și fals pozitive (instanțele pozitive prezise incorect).