In strojové učenie , klasifikácia je proces kategorizácie daného súboru údajov do rôznych kategórií. V strojovom učení, na meranie výkonnosti klasifikačného modelu, používame zmätená matica . Prostredníctvom tohto návodu pochopte význam matice zmätku.
Čo je Matica zmätku?
A zmätená matica je matica, ktorá sumarizuje výkonnosť modelu strojového učenia na súbore testovacích údajov. Je to prostriedok na zobrazenie počtu presných a nepresných prípadov na základe predpovedí modelu. Často sa používa na meranie výkonnosti klasifikačných modelov, ktorých cieľom je predpovedať kategorické označenie pre každú inštanciu vstupu.
Matica zobrazuje počet inštancií vytvorených modelom na testovacích údajoch.
- Skutočné pozitíva (TP): nastane, keď model presne predpovedá kladný údajový bod.
- Skutočné negatíva (TN) : vyskytuje sa, keď model presne predpovedá negatívny údajový bod.
- Falošné poplachy (FP) : vyskytuje sa, keď model nesprávne predpovedá kladný údajový bod.
- Nepravdivé negatívy (FN) : vyskytuje sa, keď model nesprávne predpovedá negatívny údajový bod.
Prečo potrebujeme Confusion Matrix?
Pri hodnotení výkonnosti klasifikačného modelu je nevyhnutná matica nejasností. Ponúka dôkladnú analýzu skutočne pozitívnych, skutočne negatívnych, falošne pozitívnych a falošne negatívnych predpovedí, čo uľahčuje hlbšie pochopenie modelu zapamätanie, presnosť, presnosť, a celková účinnosť v triednom rozlíšení. Ak existuje nerovnomerné rozdelenie tried v súbore údajov, táto matica je obzvlášť užitočná pri hodnotení výkonu modelu nad rámec základných metrík presnosti.
Poďme pochopiť maticu zmätku pomocou príkladov:
Matica zmätku Pre binárnu klasifikáciu
Nižšie je uvedená matica 2X2 Confusion pre rozpoznávanie obrázkov s obrázkom psa alebo obrázku Not Dog.
| Skutočné | ||
|---|---|---|---|
pes | Nie Pes | ||
Predpovedané | pes | Skutočne pozitívne | Falošne pozitívne |
Nie Pes | Falošný negatív | Skutočne negatívne |
- Skutočne pozitívne (TP): Ide o celkové počty, ktorých predpokladané aj skutočné hodnoty sú Pes.
- Skutočne negatívne (TN): Ide o celkové počty, ktorých predpokladané aj skutočné hodnoty nie sú pes.
- Falošne pozitívne (FP): Ide o celkové počty, pri ktorých sa predpokladá, že je pes, zatiaľ čo v skutočnosti nie je pes.
- Falošný negatívny (FN): Ide o celkové počty s predpoveďou nie je pes, zatiaľ čo v skutočnosti je to pes.
Príklad pre binárne klasifikačné problémy
Index | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
Skutočné | pes rímska číslica od 1 do 100 | pes | pes | Nie Pes | pes | Nie Pes | pes | pes | Nie Pes | Nie Pes |
Predpovedané | pes | Nie Pes | pes | Nie Pes | pes | pes | pes | pes | Nie Pes | Nie Pes |
Výsledok | Mesto | FN | Mesto | TN | Mesto | FP | Mesto | Mesto | TN programovanie v poli c | TN |
- Skutočný počet psov = 6
- Skutočné počty nie psov = 4
- Skutočne pozitívne počty = 5
- Falošne pozitívne počty = 1
- Skutočne negatívne počty = 3
- Falošne negatívne počty = 1
hibernovať dialekt | Predpovedané | ||
|---|---|---|---|
pes | Nie Pes | ||
Skutočné | pes | Skutočne pozitívne | Falošný negatív |
Nie Pes | Falošne pozitívne | Skutočne negatívne |
Metriky založené na údajoch Confusion Matrix
1. Presnosť
Presnosť sa používa na meranie výkonu modelu. Je to pomer celkového počtu správnych výskytov k celkovému počtu prípadov.
Pre vyššie uvedený prípad:
Presnosť = (5+3)/(5+3+1+1) = 8/10 = 0,8
2. Presnosť
Presnosť je mierou toho, ako presné sú pozitívne predpovede modelu. Je definovaný ako pomer skutočných pozitívnych predpovedí k celkovému počtu pozitívnych predpovedí uskutočnených modelom.
Pre vyššie uvedený prípad:
Presnosť = 5/(5+1) = 5/6 = 0,8333
3. Odvolanie
Odvolanie meria účinnosť klasifikačného modelu pri identifikácii všetkých relevantných prípadov zo súboru údajov. Je to pomer počtu skutočne pozitívnych (TP) výskytov k súčtu skutočne pozitívnych a falošne negatívnych (FN) výskytov.
Pre vyššie uvedený prípad:
Vyvolanie = 5/(5+1) = 5/6 = 0,8333
Poznámka: Presnosť používame, keď chceme minimalizovať falošné poplachy, čo je rozhodujúce v scenároch, ako je detekcia nevyžiadanej pošty, kde je nesprávne klasifikácia správy, ktorá nie je spam, ako spamu nákladná. A používame pripomenutie, keď je nevyhnutné minimalizovať falošne negatívne výsledky, ako pri lekárskych diagnózach, kde je kritická identifikácia všetkých skutočných pozitívnych prípadov, aj keď to vedie k niektorým falošne pozitívnym výsledkom.
4. F1-Skóre
Skóre F1 sa používa na hodnotenie celkovej výkonnosti klasifikačného modelu. Je to harmonický priemer presnosti a vybavovania,
Pre vyššie uvedený prípad:
F1-Skóre: = (2* 0,8333* 0,8333)/( 0,8333+ 0,8333) = 0,8333
Presnosť a zapamätanie vyvažujeme skóre F1, keď je potrebný kompromis medzi minimalizáciou falošne pozitívnych a falošne negatívnych výsledkov, ako napríklad v systémoch na vyhľadávanie informácií.
5. Špecifickosť:
Špecifickosť je ďalšou dôležitou metrikou pri hodnotení klasifikačných modelov, najmä pri binárnej klasifikácii. Meria schopnosť modelu správne identifikovať negatívne prípady. Špecifickosť je známa aj ako True Negative Rate.
Špecifickosť=3/(1+3)=3/4=0,75
6. Chyba typu 1 a typu 2
Chyba typu 1
Chyba typu 1 sa vyskytuje, keď model predpovedá pozitívnu inštanciu, ale v skutočnosti je negatívna. Presnosť je ovplyvnená falošne pozitívnymi výsledkami, pretože je to pomer skutočných pozitívnych výsledkov k súčtu skutočných pozitívnych a falošných pozitívnych výsledkov.
Napríklad v scenári súdnej siene sa chyba typu 1, často označovaná ako falošne pozitívna, vyskytne, keď súd omylom odsúdi jednotlivca ako vinného, hoci v skutočnosti je nevinný z údajného zločinu. Táto závažná chyba môže mať hlboké následky, ktoré môžu viesť k neoprávnenému potrestaniu nevinnej osoby, ktorá daný trestný čin nespáchala. Predchádzanie chybám typu 1 v súdnom konaní je prvoradé, aby sa zabezpečilo, že spravodlivosť bude presne vykonaná a nevinní jednotlivci budú chránení pred neoprávneným poškodením a trestom.
Chyba typu 2
Chyba typu 2 sa vyskytuje, keď model nedokáže predpovedať pozitívnu inštanciu. Vyvolanie je priamo ovplyvnené falošnými negatívami, pretože ide o pomer skutočne pozitívnych výsledkov k súčtu skutočných pozitívnych a falošných negatívnych výsledkov.
V súvislosti s lekárskym testovaním sa chyba typu 2, často známa ako falošne negatívna, vyskytuje, keď diagnostický test nedokáže zistiť prítomnosť ochorenia u pacienta, ktorý ho skutočne má. Dôsledky takejto chyby sú značné, pretože môže viesť k oneskorenej diagnóze a následnej liečbe.
Precíznosť kladie dôraz na minimalizáciu falošných poplachov, zatiaľ čo pripomenutie sa zameriava na minimalizáciu falošných negatívov.
Implementácia Confusion Matrix pre binárnu klasifikáciu pomocou Pythonu
Krok 1: Importujte potrebné knižnice
Python import numpy as np from sklearn.metrics import confusion_matrix,classification_report import seaborn as sns import matplotlib.pyplot as plt> Krok 2: Vytvorte pole NumPy pre skutočné a predpokladané štítky
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'])> Krok 3: Vypočítajte maticu zmätku
Python cm = confusion_matrix(actual,predicted)> Krok 4: Nakreslite maticu zmätku pomocou tepelnej mapy morského pôvodu
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()> Výkon :
Krok 5: Prehľad klasifikácií založený na metrikách zmätku
Python print(classification_report(actual, predicted))> Výkon :
podpora presnosti f1-skóre Pes 0,83 0,83 0,83 6 Nie Pes 0,75 0,75 0,75 4 presnosť 0,80 10 makro priemer 0,79 0,79 0,79 10 vážený priemer 0,80 0,81 0,80
Matica zmätku pre viactriednu klasifikáciu
Teraz uvažujme, že existujú tri triedy. Zmätená matica 3X3 je uvedená nižšie pre obrázok s tromi triedami.
Tu je TP = skutočne pozitívny , FP = falošne pozitívny , FN = falošne negatívny.
| Index | Skutočné | Predpovedané | Mesto | FP | FN |
|---|---|---|---|---|---|
| 1 | Cat | Cat | 1 | 0 | 0 |
| 2 | pes | pes | 1 | 0 | 0 |
| 3 | Kôň | pes | 0 | 1 | 1 |
| 4 | Cat | Cat | 1 | 0 | 0 |
| 5 | pes | pes | 1 | 0 | 0 |
| 6 | Cat | Cat | 1 | 0 | 0 |
| 7 | pes | pes | 1 | 0 | 0 |
| 8 | Kôň | Kôň | 1 | 0 | 0 |
| 9 | Kôň | Kôň | 1 | 0 | 0 |
| 10 | Cat | pes | 0 | 1 | 1 |
- Skutočne pozitívne (TP): 8 (1+1+0+1+1+1+1+1+1+0)
- Falošné pozitíva (FP): 2 (0+0+1+0+0+0+0+0+0+1)
- Falošné negatívy (FN): 2 (0+0+1+0+0+0+0+0+0+1)
Zmätená matica 3X3 je uvedená nižšie pre tri triedy.
| Predpovedané | |||
|---|---|---|---|---|
Cat | pes | Kôň | ||
| Cat je špeciálna postava | Mesto | FP | FN |
pes | FP | Mesto | FN | |
Kôň | FN | FP css zarovnávanie obrázkov | Mesto |
Súhrn triedy:
- Pre mačku: [TP=3,FP=0,FN=1]
- Index 1: Skutočne pozitívny (skutočná mačka, predpokladaná mačka)
- Index 4: Skutočne pozitívny (skutočná mačka, predpokladaná mačka)
- Index 6: Skutočne pozitívny (skutočná mačka, predpokladaná mačka)
- Index 10: falošne negatívny (skutočná mačka, predpovedaný pes)
- Pre psa: [TP=3,FP=2,FN=0]
- Index 2: Skutočne pozitívny (skutočný pes, predpokladaný pes)
- Index 5: Skutočne pozitívny (skutočný pes, predpokladaný pes)
- Index 7: Skutočne pozitívny (skutočný pes, predpokladaný pes)
- Index 10: falošne pozitívny (skutočná mačka, predpovedaný pes)
- Index 3: falošne pozitívny (kôň skutočný, predpovedaný pes)
- Pre koňa: [TP=2,FP=0,FN=1]
- Index 8: Skutočne pozitívny (kôň skutočný, kôň predpovedaný)
- Index 9: Skutočne pozitívny (kôň skutočný, kôň predpovedaný)
- Index 3: Falošný negatívny (skutočný kôň, predpokladaný pes)
Potom matica zmätku bude:
| Predpovedané | |||
|---|---|---|---|---|
Cat | pes | Kôň | ||
| Cat | TP(3) | FP(1) | FN(0) |
pes | FN(0) | TP(3) | FN(1) | |
Kôň | FN(1) | FP(1) | TP(2) |
Implementácia Confusion Matrix pre binárnu klasifikáciu pomocou Pythonu
Krok 1: Importujte potrebné knižnice
Python import numpy as np from sklearn.metrics import confusion_matrix, classification_report import seaborn as sns import matplotlib.pyplot as plt> Krok 2: Vytvorte pole NumPy pre skutočné a predpokladané štítky
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'])> Krok 3: Vypočítajte maticu zmätku
Python cm = confusion_matrix(actual,predicted)> Krok 4: Nakreslite maticu zmätku pomocou tepelnej mapy morského pôvodu
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()> Výkon:
Krok 5: Prehľad klasifikácií založený na metrikách zmätku
Python print(classification_report(actual, predicted))> Výkon :
presnosť odvolania f1-skóre podpora Mačka 1,00 0,75 0,86 4 Pes 0,60 1,00 0,75 3 Kôň 1,00 0,67 0,80 3 presnosť 0,80 10 makro 0,87 0,81 0,80 081 priem.
Záver
Stručne povedané, matica zmätku je základným nástrojom na hodnotenie účinnosti klasifikačných modelov. Prehľad o presnosti, presnosti, pamäti a všeobecnej účinnosti modelu pri klasifikácii prípadov poskytuje dôkladná analýza skutočne pozitívnych, skutočne negatívnych, falošne pozitívnych a falošne negatívnych predpovedí, ktoré ponúka. V článku boli uvedené príklady na ilustráciu výpočtu každej metriky a diskutovalo sa o jej dôležitosti. Tiež demonštrovalo, ako možno v Pythone implementovať matice zmätku pre binárne a viactriedne klasifikačné scenáre. Odborníci môžu robiť informované rozhodnutia týkajúce sa výkonnosti modelu – najmä pri riešení nevyváženého rozdelenia tried – pochopením a aplikáciou týchto metrík.
Časté otázky o Confusion Matrix
Otázka: Ako interpretovať maticu zmätku?
Matica zmätku sumarizuje výkonnosť klasifikačného modelu so záznamami reprezentujúcimi skutočne pozitívne, skutočne negatívne, falošne pozitívne a falošne negatívne prípady a poskytuje prehľad o presnosti modelu a chybách.
Q. Aké sú výhody používania Confusion matrix?
Matica zmätku poskytuje komplexné hodnotenie výkonnosti klasifikačného modelu, ponúka pohľad na skutočné pozitíva, skutočné negatíva, falošne pozitívne výsledky a falošné negatíva, čo napomáha nuansovanej analýze nad rámec základnej presnosti.
Q. Aké sú niektoré príklady aplikácií matíc?
Matice zmätku nachádzajú uplatnenie v rôznych oblastiach, vrátane lekárskej diagnostiky (identifikácia pravdivých/falošných pozitívnych/negatívnych chorôb), detekcie podvodov, analýzy sentimentu a hodnotenia presnosti rozpoznávania obrazu.
Otázka: Čo je diagram zmätkovej matice?
Diagram zmätenej matice vizuálne predstavuje výkon klasifikačného modelu. Zobrazuje skutočne pozitívne, skutočne negatívne, falošne pozitívne a falošne negatívne hodnoty vo formáte štruktúrovanej matice.
Q. Aké sú tri hodnoty matice zmätku?
Tri hodnoty matice zmätku sú pravdivo pozitívne (správne predpovedané pozitívne prípady), pravdivo negatívne (správne predpovedané negatívne prípady) a falošne pozitívne (nesprávne predpovedané pozitívne prípady).