In mašīnmācība , klasifikācija ir process, kurā noteikta datu kopa tiek klasificēta dažādās kategorijās. Mašīnmācībā, lai izmērītu klasifikācijas modeļa veiktspēju, mēs izmantojam apjukuma matrica . Izmantojot šo apmācību, izprotiet neskaidrības matricas nozīmi.
Kas ir apjukuma matrica?
A apjukuma matrica ir matrica, kas apkopo mašīnmācīšanās modeļa veiktspēju uz testa datu kopas. Tas ir līdzeklis, lai parādītu precīzu un neprecīzu gadījumu skaitu, pamatojoties uz modeļa prognozēm. To bieži izmanto, lai izmērītu klasifikācijas modeļu veiktspēju, kuru mērķis ir paredzēt kategorisku apzīmējumu katrai ievades instancei.
Matrica parāda modeļa radīto gadījumu skaitu testa datos.
- Patiesi pozitīvi (TP): rodas, kad modelis precīzi paredz pozitīvu datu punktu.
- Patiesi negatīvie (TN) : rodas, ja modelis precīzi paredz negatīvu datu punktu.
- Viltus pozitīvi (FP) : rodas, ja modelis nepareizi paredz pozitīvu datu punktu.
- Nepatiesi negatīvi (FN) : rodas, ja modelis nepareizi paredz negatīvu datu punktu.
Kāpēc mums ir vajadzīga neskaidrības matrica?
Novērtējot klasifikācijas modeļa veiktspēju, būtiska ir neskaidrības matrica. Tā piedāvā rūpīgu patiesi pozitīvo, patiesi negatīvo, viltus pozitīvo un viltus negatīvo prognožu analīzi, veicinot dziļāku modeļa izpratni. atcerēšanās, precizitāte, precizitāte, un vispārējo efektivitāti klases atšķirībā. Ja datu kopā ir nevienmērīgs klašu sadalījums, šī matrica ir īpaši noderīga, lai novērtētu modeļa veiktspēju, kas pārsniedz pamata precizitātes rādītājus.
Sapratīsim neskaidrības matricu ar piemēriem:
Apjukuma matrica Binārajai klasifikācijai
Tālāk ir parādīta 2x2 Confusion matrica attēla atpazīšanai ar suņa attēlu vai attēlu, kas nav suns.
| Faktiskais | ||
|---|---|---|---|
Suns | Nevis Suns | ||
Paredzēts | Suns | Patiesi Pozitīvi | Viltus pozitīvs |
Nevis Suns | Viltus negatīvs | Patiess negatīvs |
- Patiesi pozitīvs (TP): Kopējie skaitļi, kuriem ir gan prognozētās, gan faktiskās vērtības, ir suns.
- Patiess negatīvs (TN): Kopējie skaitļi, kuriem ir gan prognozētās, gan faktiskās vērtības, nav suns.
- Viltus pozitīvs (FP): Kopējais skaits tiek prognozēts suns, bet patiesībā nav suns.
- Viltus negatīvs (FN): Kopējais skaits tiek prognozēts, ka nav suns, bet patiesībā tas ir suns.
Binārās klasifikācijas problēmu piemērs
Rādītājs | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
Faktiskais | Suns | Suns | Suns | Nevis Suns javascript apgriešana | Suns | Nevis Suns | Suns | Suns | Nevis Suns | Nevis Suns |
Paredzēts | Suns | Nevis Suns | Suns | Nevis Suns | Suns | Suns | Suns | Suns fontu izmēri lateksā | Nevis Suns | Nevis Suns |
Rezultāts | Pilsēta | FN | Pilsēta | TN | Pilsēta | FP | Pilsēta | Pilsēta | TN | TN |
- Faktiskais suņu skaits = 6
- Faktiskais ne suņu skaits = 4
- Patiesi pozitīvie skaitļi = 5
- Viltus pozitīvu skaitļu skaits = 1
- Patiesie negatīvie skaitļi = 3
- Viltus negatīvs skaits = 1
| Paredzēts | ||
|---|---|---|---|
Suns | Nevis Suns | ||
Faktiskais | Suns | Patiesi Pozitīvs | Viltus negatīvs |
Nevis Suns | Viltus pozitīvs | Patiess negatīvs |
Metrika, kuras pamatā ir neskaidrības matricas dati
1. Precizitāte
Precizitāte tiek izmantota, lai izmērītu modeļa veiktspēju. Tā ir kopējo pareizo gadījumu attiecība pret kopējo gadījumu skaitu.
Iepriekš minētajam gadījumam:
Precizitāte = (5+3)/(5+3+1+1) = 8/10 = 0,8
2. Precizitāte
Precizitāte ir mērs, cik precīzas ir modeļa pozitīvās prognozes. To definē kā patieso pozitīvo prognožu attiecību pret kopējo modeļa veikto pozitīvo prognožu skaitu.
Iepriekš minētajam gadījumam:
Precizitāte = 5/(5+1) =5/6 = 0,8333
3. Atsaukt
Atsaukt mēra klasifikācijas modeļa efektivitāti, identificējot visus attiecīgos gadījumus no datu kopas. Tā ir patiesi pozitīvo (TP) gadījumu skaita attiecība pret patiesi pozitīvo un kļūdaini negatīvo (FN) gadījumu skaitu.
Iepriekš minētajam gadījumam:
Atsaukt = 5/(5+1) =5/6 = 0,8333
Piezīme: Mēs izmantojam precizitāti, ja vēlamies samazināt viltus pozitīvos gadījumus, kas ir ļoti svarīgi gadījumos, kad tiek atklāts mēstuļu e-pasts, kad nepareiza ziņojuma, kas nav mēstule, klasificēšana kā mēstule ir dārga. Un mēs izmantojam atsaukšanu, kad ir būtiski samazināt viltus negatīvus gadījumus, piemēram, medicīniskajās diagnozēs, kur visu faktisko pozitīvo gadījumu identificēšana ir ļoti svarīga, pat ja tā rezultātā tiek iegūti daži viltus pozitīvi.
4. F1 Rezultāts
F1 rezultāts tiek izmantots, lai novērtētu klasifikācijas modeļa vispārējo veiktspēju. Tas ir precizitātes un atsaukšanas harmonisks vidējais,
Iepriekš minētajam gadījumam:
F1 rezultāts: = (2* 0,8333* 0,8333)/(0,8333+ 0,8333) = 0,8333
Mēs līdzsvarojam precizitāti un atsaukšanu ar F1 rezultātu, kad ir nepieciešams kompromiss starp viltus pozitīvu un viltus negatīvu samazināšanu, piemēram, informācijas izguves sistēmās.
5. Specifiskums:
Specifiskums ir vēl viens svarīgs rādītājs klasifikācijas modeļu novērtēšanā, jo īpaši binārajā klasifikācijā. Tas mēra modeļa spēju pareizi identificēt negatīvos gadījumus. Specifiskums ir pazīstams arī kā patiesais negatīvais rādītājs.
Specifiskums=3/(1+3)=3/4=0,75
6. 1. un 2. tipa kļūda
1. tipa kļūda
1. tipa kļūda rodas, ja modelis paredz pozitīvu gadījumu, bet patiesībā tas ir negatīvs. Precizitāti ietekmē kļūdaini pozitīvi rezultāti, jo tā ir patieso pozitīvo attiecību attiecība pret patieso pozitīvo un viltus pozitīvu rezultātu summu.
Piemēram, tiesas zāles scenārijā 1. tipa kļūda, ko bieži dēvē par viltus pozitīvu rezultātu, rodas, ja tiesa kļūdaini notiesā personu par vainīgu, ja patiesībā tā ir nevainīga iespējamajā noziegumā. Šai smagajai kļūdai var būt nopietnas sekas, kas var izraisīt nevainīgu personu, kas nav izdarījusi attiecīgo pārkāpumu, nelikumīgu sodu. Pirmā veida kļūdu novēršana tiesvedībā ir ļoti svarīga, lai nodrošinātu, ka taisnīgums tiek nodrošināts precīzi un nevainīgas personas tiek aizsargātas no nepamatota kaitējuma un soda.
2. tipa kļūda
2. tipa kļūda rodas, ja modelis nespēj paredzēt pozitīvu gadījumu. Atgādināšanu tieši ietekmē viltus negatīvie rezultāti, jo tā ir patieso pozitīvo attiecību attiecība pret patieso pozitīvo un viltus negatīvo vērtību summu.
Medicīnisko pārbaužu kontekstā 2. tipa kļūda, ko bieži sauc par viltus negatīvu, rodas, ja diagnostikas testā neizdodas noteikt slimības klātbūtni pacientam, kuram tā patiešām ir. Šādas kļūdas sekas ir nozīmīgas, jo tās rezultātā var tikt novēlota diagnoze un turpmāka ārstēšana.
Precizitāte uzsver viltus pozitīvu rezultātu samazināšanu, savukārt atsaukšana koncentrējas uz viltus negatīvu samazināšanu.
Confusion Matrix ieviešana binārajai klasifikācijai, izmantojot Python
1. darbība. Importējiet nepieciešamās bibliotēkas
Python import numpy as np from sklearn.metrics import confusion_matrix,classification_report import seaborn as sns import matplotlib.pyplot as plt> 2. darbība. Izveidojiet NumPy masīvu faktiskajām un prognozētajām etiķetēm
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'])> 3. darbība. Aprēķiniet neskaidrības matricu
Python cm = confusion_matrix(actual,predicted)> 4. darbība. Uzzīmējiet neskaidrības matricu, izmantojot jūras radīto siltuma karti
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()> Izvade :
5. darbība: Klasifikācijas ziņojums, pamatojoties uz neskaidrības metriku
Python print(classification_report(actual, predicted))> Izvade :
precīzas atsaukšanas f1-score atbalsts Suns 0,83 0,83 0,83 6 Nav suns 0,75 0,75 0,75 4 precizitāte 0,80 10 makro vid. 0,79 0,79 0,79 10 svērtais vidējais 0,80 0,8080 .
Apjukuma matrica vairāku klašu klasifikācijai
Tagad pieņemsim, ka ir trīs klases. Tālāk ir parādīta 3x3 Confusion matrica attēlam ar trīs klasēm.
Šeit TP = patiess pozitīvs , FP = viltus pozitīvs , FN = viltus negatīvs.
| Rādītājs | Faktiskais | Paredzēts | Pilsēta | FP | FN |
|---|---|---|---|---|---|
| 1 | kat | kat | 1 | 0 | 0 |
| 2 | Suns | Suns | 1 | 0 | 0 |
| 3 | Zirgs | Suns | 0 | 1 | 1 |
| 4 | kat | kat | 1 | 0 | 0 |
| 5 | Suns | Suns | 1 | 0 | 0 |
| 6 | kat | kat | 1 | 0 | 0 |
| 7 | Suns | Suns | 1 | 0 | 0 |
| 8 | Zirgs | Zirgs | 1 | 0 | 0 |
| 9 | Zirgs | Zirgs | 1 | 0 | 0 |
| 10 | kat | Suns | 0 | 1 | 1 |
- Patiesie pozitīvie (TP): 8 (1+1+0+1+1+1+1+1+1+0)
- Viltus pozitīvi (FP): 2 (0+0+1+0+0+0+0+0+0+1)
- Viltus negatīvie (FN): 2 (0+0+1+0+0+0+0+0+0+1)
Tālāk ir parādīta 3X3 Confusion matrica trim klasēm.
| Paredzēts | |||
|---|---|---|---|---|
kat | Suns | Zirgs | ||
pārvērst virkni char java | kat | Pilsēta | FP | FN |
Suns | FP | Pilsēta | FN | |
Zirgs | FN | FP | Pilsēta |
Klases kopsavilkums:
- Kaķim: [TP=3,FP=0,FN=1]
- 1. rādītājs: patiesi pozitīvs (faktiskais kaķis, paredzams kaķis)
- 4. rādītājs: patiesi pozitīvs (faktiskais kaķis, paredzams kaķis)
- 6. rādītājs: patiesi pozitīvs (faktiskais kaķis, paredzams kaķis)
- 10. rādītājs: viltus negatīvs (faktiskais kaķis, paredzams suns)
- Sunim: [TP=3,FP=2,FN=0]
- 2. rādītājs: patiesi pozitīvs (suns faktiskais, suns paredzams)
- 5. rādītājs: patiesi pozitīvs (suns faktiskais, suns paredzams)
- 7. rādītājs: patiesi pozitīvs (suns faktiskais, suns paredzams)
- 10. rādītājs: kļūdaini pozitīvs (faktisks kaķis, paredzams suns)
- 3. rādītājs: kļūdaini pozitīvs (faktisks zirgs, paredzams suns)
- Zirgam: [TP=2,FP=0,FN=1]
- 8. rādītājs: patiesi pozitīvs (faktiskais zirgs, prognozēts zirgs)
- 9. rādītājs: patiesi pozitīvs (faktiskais zirgs, prognozēts zirgs)
- 3. rādītājs: viltus negatīvs (faktisks zirgs, paredzams suns)
Tad neskaidrības matrica būs:
| Paredzēts | |||
|---|---|---|---|---|
kat | Suns | Zirgs | ||
| kat | TP(3) | FP(1) | FN(0) |
Suns | FN(0) | TP(3) | FN(1) | |
Zirgs binārs uz bcd | FN(1) | FP(1) | TP(2) |
Confusion Matrix ieviešana binārajai klasifikācijai, izmantojot Python
1. darbība. Importējiet nepieciešamās bibliotēkas
Python import numpy as np from sklearn.metrics import confusion_matrix, classification_report import seaborn as sns import matplotlib.pyplot as plt> 2. darbība. Izveidojiet NumPy masīvu faktiskajām un prognozētajām etiķetēm
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'])> 3. darbība. Aprēķiniet neskaidrības matricu
Python cm = confusion_matrix(actual,predicted)> 4. darbība. Uzzīmējiet neskaidrības matricu, izmantojot jūras radīto siltuma karti
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()> Izvade:
5. darbība: Klasifikācijas ziņojums, pamatojoties uz neskaidrības metriku
Python print(classification_report(actual, predicted))> Izvade :
precīzas atsaukšanas f1-score atbalsts Cat 1,00 0,75 0,86 4 Suns 0,60 1,00 0,75 3 Zirgs 1,00 0,67 0,80 3 precizitāte 0,80 10 makro vid. 0,87 0,81 0,80 0,8 0
Secinājums
Rezumējot, neskaidrības matrica ir būtisks instruments klasifikācijas modeļu efektivitātes novērtēšanai. Ieskatu par modeļa precizitāti, precizitāti, atsaukšanu un vispārējo efektivitāti gadījumu klasificēšanā nodrošina tā piedāvāto patiesi pozitīvo, patiesi negatīvo, viltus pozitīvo un viltus negatīvo prognožu rūpīga analīze. Rakstā tika sniegti piemēri, lai ilustrētu katras metrikas aprēķinu, un apspriesta tā nozīme. Tas arī parādīja, kā Python var ieviest neskaidrības matricas bināro un vairāku klašu klasifikācijas scenārijos. Praktizētāji var pieņemt labi informētus lēmumus par modeļa veiktspēju, jo īpaši, ja tiek risināti nelīdzsvaroti klašu sadalījumi, izprotot un piemērojot šos rādītājus.
Bieži uzdotie jautājumi par Confusion Matrix
J. Kā interpretēt neskaidrības matricu?
Sajaukšanas matrica apkopo klasifikācijas modeļa veiktspēju ar ierakstiem, kas atspoguļo patiesi pozitīvus, patiesi negatīvus, viltus pozitīvus un viltus negatīvus gadījumus, sniedzot ieskatu modeļa precizitātē un kļūdās.
J. Kādas ir Confusion matricas izmantošanas priekšrocības?
Sajaukšanas matrica nodrošina visaptverošu klasifikācijas modeļa veiktspējas novērtējumu, sniedzot ieskatu patiesos pozitīvajos, patiesajos negatīvajos, viltus pozitīvos un viltus negatīvos, palīdzot veikt niansētu analīzi, kas pārsniedz pamata precizitāti.
J. Kādi ir daži neskaidrības matricas lietojumu piemēri?
Sajaukšanas matricas atrod pielietojumu dažādās jomās, tostarp medicīniskajā diagnostikā (patiesu/viltus pozitīvu/negatīvu slimību identificēšana), krāpšanas atklāšanā, sentimenta analīzē un attēlu atpazīšanas precizitātes novērtēšanā.
J. Kas ir sajaukšanas matricas diagramma?
Sajaukšanas matricas diagramma vizuāli attēlo klasifikācijas modeļa veiktspēju. Tas parāda patiesi pozitīvas, patiesi negatīvas, viltus pozitīvas un viltus negatīvas vērtības strukturētas matricas formātā.
J. Kādas ir trīs neskaidrības matricas vērtības?
Trīs sajaukšanas matricas vērtības ir patiesi pozitīvas (pareizi prognozēti pozitīvi gadījumi), patiesi negatīvi (pareizi prognozēti negatīvi gadījumi) un kļūdaini pozitīvi (nepareizi prognozēti pozitīvi gadījumi).