logo

Apjukuma matrica mašīnmācībā

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
(TP)

Viltus pozitīvs
(FP)

Nevis Suns

Viltus negatīvs
(FN)

Patiess negatīvs
(TN)

  • 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
(TP = 5)

Viltus negatīvs
(FN = 1)

Nevis Suns

Viltus pozitīvs
(FP=1)

Patiess negatīvs
(TN=3)

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.

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

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.

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

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.

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

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,

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

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.

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

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.

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

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.

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

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ājsFaktiskaisParedzētsPilsētaFPFN
1katkat100
2SunsSuns100
3ZirgsSuns011
4katkat100
5SunsSuns100
6katkat100
7SunsSuns100
8ZirgsZirgs100
9ZirgsZirgs100
10katSuns011
  • 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


Faktiskais

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


Faktiskais

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).