Segadusmaatriks masinõppes koos EXAMPLE'iga
⚡ Nutikas kokkuvõte
Segadusmaatriks on klassifitseerimismudelite jõudluse mõõtmise tabel, mis võrdleb ennustatud silte teadaolevate tegelike siltidega, paljastades täpselt, millised klassid klassifikaator õigesti saab ja millised eksib.

Mis on segaduse maatriks?
A segaduse maatriks on tulemuslikkuse mõõtmise tehnika masinõpe klassifikatsioon. See on tabel, mis näitab, kuidas klassifikatsioonimudel toimis testandmete komplektil, mille tegelikud väärtused on juba teada. Mõiste "segadusmaatriks" on küllaltki lihtne, kuid sellele ehitatud terminoloogia võib olla segadusttekitav, seega on iga osa allpool lihtsas keeles selgitatud.
Maatriks kehtib igale juhendatud klassifikaator — logistiline regressioon, otsustuspuu, a Naiivne Bayesi mudel või sügav närvivõrk — sest see võrdleb ainult kahte sildiveergu: seda, mida mudel ennustas, ja seda, mis tegelikult tõele vastas.
Segadusmaatriksi neli tulemust
Segadusmaatriks visualiseerib klassifikaatori täpsust, võrreldes tegelikke ja ennustatud klasse. Binaarne segadusmaatriks koosneb ruutudest:

Ülaltoodud tabel kaardistab neli ruutu, mida iga binaarne segadusmaatriks sisaldab:
- TP: Tõeliselt positiivne: Ennustatud väärtused ennustati õigesti tegelike positiivsete väärtustena
- FP: Valepositiivne: Ennustatud väärtused ennustati valesti tegelikeks positiivseteks, st negatiivsed väärtused ennustati positiivseteks
- FN: Vale-negatiivne: Positiivsed väärtused ennustatakse negatiivseteks
- TN: Tõene/Negatiivne: Ennustatud väärtused ennustati õigesti tegeliku negatiivse väärtusena
Statistika annab kahele vealahtrile oma nimed. Valepositiivne tulemus on I tüüpi viga — mudel andis alarmi, mida poleks kunagi tohtinud anda. Vale-negatiivne tulemus on II tüüpi viga — mudel jäi vaikseks ajal, mil see oleks pidanud alarmi andma. See, kumb kahest on teie probleemi jaoks kallim, määrab, millist mõõdikut hiljem häälestada.
Täpsustesti saab arvutada segadusmaatriksist, nagu näitab allolev valem:
Segaduse maatriksi näide
Segadusmaatriks on kasulik masinõppe meetod, mis võimaldab mõõta meeldetuletust, täpsust, korrektsust ja AUC-ROC kõverat. Allolev jalgpalli näide näitab, mida tähendavad terminid „tõene positiivne“, „tõene negatiivne“, „vale positiivne“ ja „vale negatiivne“ igapäevakeeles.
Tõeline positiivne:
Sa ennustasid positiivset ja see osutuski tõeks. Näiteks ennustasid sa, et Prantsusmaa võidab maailmameistrivõistlused, ja ta võitiski.
Tõeline negatiivne:
Sa ennustasid negatiivset ja see on ka tõsi. Sa ennustasid, et Inglismaa ei võida, aga nad kaotasid.
Valepositiivne:
Teie ennustus on positiivne ja see on vale.
Sa ennustasid, et Inglismaa võidab, aga nad kaotasid.
Valenegatiivne:
Teie ennustus on negatiivne ja tulemus muudab selle valeks.
Te ennustasite, et Prantsusmaa ei võida, aga ta võitis.
Pea meeles, et esimene sõna kirjeldab, kas ennustus oli õige või vale (tõene või väär) ja teine sõna kirjeldab, mida mudel ennustas (positiivne või negatiivne).
Kuidas arvutada segadusmaatriksit
Siin on samm-sammult protsess segadusmaatriksi arvutamiseks andmete kaevandamine:
- Step 1) Esiteks vajate testiandmestikku koos selle eeldatavate tulemuste väärtustega.
- Step 2) Ennusta kõik read testiandmestiku sees.
- Step 3) Võrdle oodatavaid tulemusi ennustustega ja arvuta:
- Iga klassi õigete ennustuste kogusumma.
- Iga klassi valede ennustuste kogusumma.
Pärast seda korraldatakse need numbrid alltoodud meetoditega:
- Iga maatriksi rida vastab tegelikule klassile.
- Iga maatriksi veerg on seotud ennustatud klassiga.
- Õige ja vale klassifikatsiooni koguarvud kantakse tabelisse.
- Klassi õigete ennustuste summa läheb lahtrisse, kus selle klassi tegelik rida kohtub oma ennustatud veeruga – diagonaali.
- Klassi valede ennustuste summa läheb selle klassi väärtuse tegelikku ritta ja mudeli poolt valitud klassi ennustatud veergu.
Rea ja veeru rollid on pigem kokkulepe kui seadus ning mõned joonistamisvahendid muudavad paigutust, seega lugege enne maatriksi tõlgendamist alati telgede silte. Siin kasutatav orientatsioon – ridadel tegelik, veergudel ennustatud – on see, mille scikit-learn annab.
Muud olulised mõisted segadusmaatriksi abil
Kui neli loendust on paigas, kirjeldab sama tabeli erinevaid lõike teiseste terminite perekond:
- Positiivne ennustusväärtus (PPV): See on täpsusega väga lähedal. Üks oluline erinevus kahe termini vahel on see, et PPV võtab arvesse levimust. Olukorras, kus klassid on ideaalselt tasakaalus, on positiivne ennustusväärtus sama mis täpsus.
- Null veamäär: See termin määratleb, kui tihti teie ennustus valeks osutuks, kui ennustaksite alati enamusklassi. Seda saab käsitleda baasmõõdikuna, millega oma klassifikaatorit võrrelda.
- F skoor: F1 skoor on tegeliku positiivse määra (meenutamise) ja täpsuse kaalutud keskmine skoor.
- ROC-kõver: ROC-kõver kujutab tegeliku positiivse määra ja valepositiivse määra vahelist suhet erinevatel piirväärtustel. See näitab ka kompromissi tundlikkuse (meenutavus) ja spetsiifilisuse vahel, mis on tegelik negatiivse määr.
- Täpsus: Täpsusmõõdik näitab positiivse klassi täpsust. See mõõdab, kui tõenäoliselt on positiivse klassi ennustus õige.
Maksimaalne punktisumma on 1, kui klassifikaator klassifitseerib kõik positiivsed väärtused ideaalselt. Täpsus üksi pole eriti kasulik, kuna see ignoreerib negatiivset klassi. Mõõdik on tavaliselt seotud tagasikutsumise mõõdikuga. Tagasikutsumist nimetatakse ka tundlikkuseks või tõeliselt positiivseks määraks ja seda kirjutatakse allpool näidatud viisil.
- Tundlikkus: Tundlikkus arvutab õigesti tuvastatud positiivsete klasside suhte. See mõõdik näitab, kui hästi mudel positiivse klassi ära tunneb.
Segadusmaatriksi mõõdikud ja valemid
Kõik ülaltoodud mõõdikud on aritmeetilised samade nelja näitaja põhjal, seega on kasulik neid kõrvuti vaadata küsimusega, millele igaüks neist vastab.
| meetriline | Valem | Küsimus, millele see vastab | Kasutage seda siis, kui |
|---|---|---|---|
| Täpsus | (TP + TN) / (TP + TN + FP + FN) | Mitu ennustust kokkuvõttes õigeks osutusid? | Tunnid on enam-vähem tasakaalus |
| Täpsus | TP / (TP + FP) | Kui mudel ütleb positiivne, siis kui tihti see õige on? | Valehäired on kallid |
| Meenutamine (tundlikkus) | TP / (TP + FN) | Kui palju kõigist tõeliselt positiivsetest asjadest tabati? | Vastamata jäetud positiivsed asjad on kallid |
| Eripära | TN / (TN + FP) | Kui palju kõigist tegelikest negatiivsetest punktidest kustutati? | Negatiivne klass on samuti oluline |
| F1 skoor | 2 × (Täpsus × Meeldetuletus) / (Täpsus + Meeldetuletus) | Milline on tasakaal nende kahe vahel? | Teil on vaja ühte numbrit mõlema jaoks |
Võtame näiteks rämpspostifiltri, mida testitakse 100 e-kirjaga ja mille tulemuseks on TP = 45, FN = 5, FP = 10 ja TN = 40. Täpsus on (45 + 40) / 100 = 0.85. Korrektsusjärk on 45 / (45 + 10) = 0.82, meenutusvõime on 45 / (45 + 5) = 0.90 ja spetsiifilisus on 40 / (40 + 10) = 0.80. F1 skoor on 0.86.
Need numbrid jutustavad loo, mida varjab üks täpsusnäitaja: filter püüab kinni 90 protsenti päris rämpspostist, kuid paigutab ekslikult karantiini iga viie lipuga märgistatud õigustatud e-kirja. See, kas see tehingute vastuvõetavus on vastuvõetav, sõltub iga vea maksumusest, mistõttu esitataksegi maatriks, mitte ainult täpsus.
Segadusmaatriks mitmeklassilise klassifitseerimise jaoks
Klassifitseerimisprobleemid piirduvad harva kahe sildiga ja maatriks skaleerub kuju muutmata. N klassi korral muutub tabel N×N ruudustikuks: diagonaal sisaldab iga õiget ennustust ja iga diagonaaliväline lahter salvestab täpselt, milline klass millise teise klassiga segi aeti.
Kolmeklassiline mudel, mis sorteerib pildid kassiks, koeraks ja jäneseks, loob 3×3 ruudustiku. Kui rea „kass“ ja veeru „koer“ lahtris on 12, siis on kaksteist kassipilti märgistatud kui koer. See detailsuse tase on põhjus, miks maatriks on kasulikum kui skoor: see nimetab konkreetse klassipaari, mida mudel ei saa eraldada.
Täpsus, tagasivõtmine ja F1 defineeritakse klassi kohta, kasutades üks vs ülejäänud vaadet, kus kõnealune klass on positiivne klass ja kõik muu on negatiivne. Seejärel kombineeritakse klasside arvud ühel kolmest viisist:
- Makro keskmine: Arvutab iga klassi mõõdiku eraldi ja võtab seejärel kaalumata keskmise. Kõik klassid loevad võrdselt, seega haruldased klassid ei jää varju.
- Mikrokeskmine: Enne meetrika arvutamist koondab kõigi klasside TP, FP ja FN arvud. Domineerivad suured klassid ning ühe märgisega probleemide puhul on mikrotäpsus, mikromeenutus ja täpsus identsed.
- Kaalutud keskmine: Arvutab klasside skooride keskmise, kasutades kaaluna iga klassi tegelike eksemplaride arvu, mis hoiab klasside tasakaalustamatuse nähtavana.
Valige makro, kui iga klass on võrdselt oluline, ja kaalutud, kui klasside jaotus kajastab tegelikku liiklust.
Kuidas luua segadusmaatriksit Python
scikit-learni teek ehitab kogu tabeli kahest siltide massiivist, seega pole käsitsi loendamist vaja. Allolev näide võrdleb kümmet tõelist silti kümne ennustusega.
from sklearn.metrics import confusion_matrix y_true = [1, 0, 1, 1, 0, 1, 0, 0, 1, 0] y_pred = [1, 0, 1, 0, 0, 1, 1, 0, 1, 0] cm = confusion_matrix(y_true, y_pred) print(cm)
Kutse tagastab 2×2 NumPy massiivi, milles rida 0 on tegelik negatiivne klass ja rida 1 on tegelik positiivne klass:
[[4 1] [1 4]]
Massiivi lugemine scikit-learni konventsiooni suhtes annab tulemuseks TN = 4 (üleval vasakul), FP = 1 (üleval paremal), FN = 1 (all vasakul) ja TP = 4 (all paremal). Nende nelja väärtuse ühele reale lahtipakkimine annab kaardiping selgesõnaline:
tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()
Täpsuse saamiseks kutsuge esile iga klassi, sealhulgas eespool kirjeldatud makro- ja kaalutud keskmiste, jaoks korraga tagasikutsumine ja F1. classification_report() iga mõõdiku käsitsi arvutamise asemel:
from sklearn.metrics import classification_report print(classification_report(y_true, y_pred))
Joondatud versiooni jaoks ConfusionMatrixDisplay.from_predictions(y_true, y_pred) renderdab sama tabeli sildistatud soojuskaardina. Täielik argumentide loend, sealhulgas labels ja normalize valikud on dokumenteeritud scikit-learni segaduse_maatriksi viideSama hindamisetapp kehtib ka mudelite kohta, mis on ehitatud TensorFlow, sest mõõdik sõltub ainult ennustatud siltidest.
Miks vajate segaduse maatriksit?
Siin on segadusmaatriksi kasutamise plussid ja eelised.
- See näitab, kuidas klassifitseerimismudel ennustuste tegemisel segadusse läheb.
- Segadusmaatriks annab ülevaate mitte ainult klassifikaatori tehtud vigadest, vaid ka vigade tüüpidest.
- See jaotus aitab teil ületada ainult klassifitseerimise täpsuse kasutamise piirangu.
- Segadusmaatriksi iga veerg esindab selle ennustatud klassi juhtumeid.
- Iga segadusmaatriksi rida tähistab tegeliku klassi eksemplare.
- See muudab mudeli hindamise diagnoosiks, osutades konkreetsele klassipaarile, mis vajab rohkem andmeid või paremat funktsiooni.
See diagnostiline väärtus on põhjus, miks segadusmaatriks on hindamisetapi keskmes mis tahes andmeteadus töövoog ja miks see on tavaliselt esimene tabel, mida enne klassifikaatori tootmiskeskkonda üleviimist üle vaadatakse.


