Apjukuma matrica mašīnmācībās: jūsu vienas pieturas risinājums

Šis raksts koncentrējas uz Apjukuma matricu, kas ir viens no vissvarīgākajiem jebkura mašīnmācīšanās algoritma aspektiem, ko izmanto, lai novērtētu tā precizitāti.

In , mums parasti ir 2 dažādi lietošanas gadījumi, , un problēmu. Apjukuma matrica palīdz aprēķināt klasifikācijas modeļa precizitāti, kas netieši palīdz mums aprakstīt klasifikācijas modeļa veiktspēju. Tas ir vissvarīgākais solis modeļa novērtēšanā. Šajā rakstā apskatīšu šādas tēmas:

1. Kas ir sajaukšanas matrica?

2. Apjukuma matricas precizitāte un komponenti

3. Precizitāte, atsaukšana un F-Measure

4. Apjukuma matricas izveidošana, izmantojot Python un Sklearn

Kas ir sajaukšanas matrica?

Apjukuma matrica ir paredzamo rezultātu un faktisko rezultātu salīdzināšanas kopsavilkums jebkurā klasifikācijas problēmu izmantošanas gadījumā. Salīdzināšanas kopsavilkums ir ārkārtīgi nepieciešams, lai noteiktu modeļa veiktspēju pēc tam, kad tas ir apmācīts ar dažiem apmācības datiem. Accuracy-Confusion-MatrixBinārā klasifikācijas lietošanas gadījumā sajaukšanas matrica ir 2 × 2 matrica, kas ir parādīta zemāk
Paredzētā 1. klases vērtība EG: 1 Paredzētā 2. klases vērtība EG: 0
Faktiskā 1. klases vērtība

ir tāds pats kā maģistrs

EG: 1

TP (patiess pozitīvs) FN (viltus negatīvs)
Faktiskā 2. klases vērtība

EG: 0

FP (viltus pozitīvs) TN (patiess negatīvs)

No iepriekš minētā attēla:
Mums ir,

  • Faktiskā 1. klases vērtība = 1, kas ir līdzīga pozitīvai vērtībai binārā iznākumā.
  • Faktiskā 2. klases vērtība = 0, kas ir līdzīga binārā iznākuma negatīvajai vērtībai.

Apjukuma matricas kreisās puses indekss būtībā norāda faktiskās vērtības, bet augšējā kolonnā - paredzamās vērtības.

Veidojot neskaidrības matricu, pastāv dažādi komponenti. Komponenti ir minēti zemāk

Pozitīvs (P): Paredzētais rezultāts ir pozitīvs (piemērs: attēls ir kaķis)

Negatīvs (N): paredzamais rezultāts ir negatīvs (piemērs: Attēli nav kaķis)

Patiesais pozitīvais (TP): Šeit TP būtībā norāda prognozēto un faktiskās vērtības ir 1 (True)

Patiesais negatīvs (TN): Šeit TN norāda prognozēto un faktiskā vērtība ir 0 (False)

Viltus negatīvs (FN): Šeit FN norāda, ka paredzamā vērtība ir 0 (negatīva) un faktiskā vērtība ir 1. Šeit abas vērtības nesakrīt. Tādējādi tas ir viltus negatīvs.

Viltus pozitīvs (FP): Šeit FP norāda, ka paredzamā vērtība ir 1 (pozitīva), un faktiskā vērtība ir 0. Šeit atkal abas vērtības neatbilst. Tādējādi tas ir viltus pozitīvs.

Apjukuma matricas precizitāte un komponenti

Pēc sajaukšanas matricas izveidošanas un visu komponentu vērtību noteikšanas mums kļūst diezgan viegli aprēķināt precizitāti. Apskatīsim komponentus, lai to labāk saprastu.
  • Klasifikācijas precizitāte

No iepriekš minētās formulas TP (True Positive) un TN (True Negative) summa ir pareizs prognozētais rezultāts. Tāpēc, lai aprēķinātu precizitāti procentos, mēs dalām ar visiem pārējiem komponentiem. Tomēr precizitātē ir dažas problēmas, un mēs nevaram no tās pilnībā atkarīgi.

Pieņemsim, ka mūsu datu kopa ir pilnīgi nelīdzsvarota. Šajā scenārijā 98% precizitāte var būt laba vai slikta, pamatojoties uz problēmas izklāstu. Tāpēc mums ir vēl daži galvenie termini, kas palīdzēs mums būt pārliecinātiem par aprēķināto precizitāti. Noteikumi ir šādi:

  • TPR (True Positive Rate) vai jutīgums:

Patiesais pozitīvais rādītājs, ko dēvē arī par jutīgumu, nosaka patiesā pozitīvā procentuālo daudzumu attiecībā pret kopējo faktisko pozitīvo vērtību, ko norāda (TP + FN)

Paredzētā 1. klases vērtība EG: 1 Paredzētā 2. klases vērtība EG: 0 Kopā
Faktiskā 1. klases vērtība

EG: 1

TP (patiess pozitīvs) FN (viltus negatīvs) Kopā faktiskie pozitīvie rādītāji
Faktiskā 2. klases vērtība

EG: 0

FP (viltus pozitīvs)TN (patiess negatīvs)Kopā faktiskie negatīvie
TPR = patiess pozitīvs / (patiess pozitīvs + viltus negatīvs
  • TNR (True Negative Rate) vai specifika:

Patiesais negatīvais rādītājs vai specifika mēra faktisko negatīvo īpatsvaru attiecībā pret kopējo negatīvo

Paredzētā 1. klases vērtība EG: 1 Paredzētā 2. klases vērtība EG: 0 Kopā
Faktiskā 1. klases vērtība

EG: 1

TP (patiess pozitīvs)FN (viltus negatīvs)Kopā faktiskie pozitīvie rādītāji
Faktiskā 2. klases vērtība

EG: 0

FP (viltus pozitīvs) TN (patiess negatīvs) Kopā faktiskie negatīvie

TNR = patiess negatīvs / (patiess negatīvs + viltus pozitīvs)

  • Viltus pozitīvais rādītājs (FPR):

Viltus pozitīvais rādītājs ir paredzamās viltus pozitīvās (FP) procentuālais daudzums no kopējā paredzamo pozitīvo rezultātu skaita (TP + FP).

Paredzētā 1. klases vērtība EG: 1 Paredzētā 2. klases vērtība EG: 0
Faktiskā 1. klases vērtība EG: 1 TP (patiess pozitīvs) FN (viltus negatīvs)
Faktiskā 2. klases vērtība EG: 0 FP (viltus pozitīvs) TN (patiess negatīvs)
Kopējā paredzamā pozitīvā summa Kopā paredzamo negatīvo summa
FPR = viltus pozitīvs / (patiess pozitīvs + viltus pozitīvs)
  • Viltus negatīvs rādītājs (FNR):

Viltus negatīvais rādītājs ir prognozētā viltus negatīvā (FP) procentuālais daudzums no kopējā paredzēto negatīvo rezultātu skaita (TN + FN).

Paredzētā 1. klases vērtība EG: 1 Paredzētā 2. klases vērtība EG: 0
Faktiskā 1. klases vērtība EG: 1TP (patiess pozitīvs) FN (viltus negatīvs)
Faktiskā 2. klases vērtība EG: 0FP (viltus pozitīvs) TN (patiess negatīvs)
Kopējā paredzamā pozitīvā summa Kopā paredzamo negatīvo summa
FNR = viltus negatīvs / (viltus negatīvs + patiess negatīvs)

Precizitāte, atsaukšana un F-mērīšana

  • Atsaukt:

Atsaukums ir līdzīgs patiesajam pozitīvajam rādītājam, un tas ir pareizi prognozēto pozitīvo vērtību (TP) kopējā skaita un visu pozitīvo vērtību attiecība.

manas sql pamācības iesācējiem
  • Precizitāte:

Precizitāte būtībā norāda visus punktus, par kuriem modelis prognozēja pozitīvu, un cik procentu no tiem faktiski ir pozitīvi.

Precizitāte un atsaukšana ir metrikas rezultāti, kas koncentrējas uz pozitīvo klasi, kā parādīts iepriekš minētajās formulās.

  • F-pasākums

Tātad F-Measure ir paņēmiens, kas apvieno gan precizitātes, gan atsaukšanas tehniku, un tajā parastā vidējā aritmētiskā vietā tiek izmantota harmoniskā vidējā vērtība, kuras dēļ tiek sodītas galējās vērtības. F mēru sauc arī par F1 rādītāju, un to izsaka zemāk esošā formula.

Apskatīsim piemēru un redzēsim, kā mēs varam aprēķināt precizitāti, precizitāti, atsaukšanu un F1 rezultātu.

iziet ar atsauci java
N = 165 Paredzētais JĀ Paredzētais NĒ
Faktiskais JĀ TP = 150 FN = 10
Pašreizējais NĒ FP = 20 TN = 100
    • Precizitāte = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0,89
    • Atsaukšana = TP / (TP + FN) = 150 / (150 + 10) = 0,93
    • Precizitāte: TP / (TP + FP) = 150 / (150 + 20) = 0,88

  • F-pasākums = (2 * Atsaukt * Precizitāte) / (Atsaukt + Prezisija) = (2 * 0,93 * 0,88) / (0,93 + 0,88) = 0,90

Apjukuma matricas izveidošana, izmantojot Python un Sklearn

Tagad mēs redzēsim piemēru tam, kā mēs varam izveidot neskaidrību matricu, izmantojot pitonu kopā ar sklearn bibliotēku.

viens. Sākotnēji mēs izveidosim dažus faktisko datu un paredzēto precizitātes pārbaudes sarakstus, kā parādīts zemāk

# Python skripts neskaidrības matricas izveidei. faktiskie_dati = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] prognozētie dati = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1]

2. Mums jāimportē neskaidrību matrica no sklearn bibliotēkas, kā parādīts zemāk:

no sklearn.metrics importēt confusion_matrix

3. Pēc tam mēs izveidosim sajaukšanas matricu, kā parādīts zemāk:

galīgie_rezultāti = apjukuma matrica (faktiskie_dati, paredzētie_dati)

Četri. Tagad mēs varam turpināt aprēķināt precizitāti, importējot bibliotēku, kā parādīts zemāk:

no sklearn.metrics importa precizitātes_rezultāta precizitāte = precizitātes_rādītājs (faktiskie_dati, prognozētie_dati)

5. Visbeidzot, mēs aprēķinām F1 rādītāju vai F mēru, kā parādīts zemāk:

no sklearn.metrics importa klasifikācijas_ziņojums = klasifikācijas_ziņojums (faktiskie_dati, paredzamie_dati)

Zemāk ir pilns kods:

faktiskie_dati = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] prognozētie dati = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1] no sklearn.metrics importēt confusion_matrix galīgos_rezultātus = confusion_matrix (faktiskos_datus, prognozētos_datus) drukāt (final_results) no sklearn.metrics importēt precizitātes_rezultātu precizitāti = precizitātes_score (faktiskos_datus, prognozētos_datus) no sklearn.metrics importēt klasifikācijas_ziņojumu ziņojumu faktiskie_dati, paredzētie_dati) druka (precizitāte) druka (pārskats)

matrix

Tātad, līdz ar to mēs esam nonākuši pie šī raksta beigām. Es ceru, ka visas jūsu neskaidrības par sajaukšanas matricu tagad ir atrisinātas.

Edureka palīdz jums iegūt zināšanas par dažādiem mašīnmācīšanās algoritmiem, piemēram, regresiju, kopu izveidi, lēmumu kokiem, izlases mežu, Naivajiem Beijiem un Q-Learning. Šī mašīnmācīšanās, izmantojot Python apmācību, piedāvā statistikas jēdzienus, laika rindas un dažādas mašīnmācīšanās algoritmu klases, piemēram, uzraudzītus, nepieskatītus un pastiprinošus algoritmus. Datu zinātnes sertifikācijas kursa laikā jūs risināsiet reālās dzīves gadījumu izpēti par plašsaziņas līdzekļiem, veselības aprūpi, sociālajiem medijiem, aviāciju, HR.