Į mašininis mokymasis , klasifikavimas yra tam tikro duomenų rinkinio skirstymo į skirtingas kategorijas procesas. Mašininio mokymosi metu, norėdami įvertinti klasifikavimo modelio našumą, naudojame painiavos matrica . Per šią mokymo programą supraskite painiavos matricos reikšmę.
Kas yra painiavos matrica?
A painiavos matrica yra matrica, apibendrinanti mašininio mokymosi modelio našumą naudojant bandymo duomenų rinkinį. Tai priemonė, leidžianti parodyti tikslių ir netikslių atvejų skaičių, remiantis modelio prognozėmis. Jis dažnai naudojamas klasifikavimo modelių, kuriais siekiama numatyti kiekvieno įvesties egzemplioriaus kategorinę etiketę, našumą.
Matricoje rodomas modelio sukurtų egzempliorių skaičius bandymo duomenyse.
- Tikri teigiami dalykai (TP): atsiranda, kai modelis tiksliai numato teigiamą duomenų tašką.
- Tikri neigiami dalykai (TN) : atsiranda, kai modelis tiksliai numato neigiamą duomenų tašką.
- Klaidingi teigiami rezultatai (FP) : atsiranda, kai modelis neteisingai numato teigiamą duomenų tašką.
- Netiesa negatyvai (FN) : atsiranda, kai modelis klaidingai numato neigiamą duomenų tašką.
Kodėl mums reikia painiavos matricos?
Vertinant klasifikavimo modelio veikimą, labai svarbi painiavos matrica. Ji siūlo nuodugnią tikrojo teigiamo, tikro neigiamo, klaidingai teigiamo ir klaidingai neigiamo prognozių analizę, palengvinančią nuodugnesnį modelio supratimą. prisiminimas, tikslumas, tikslumas, ir bendrą efektyvumą klasėje. Kai duomenų rinkinyje yra netolygus klasių pasiskirstymas, ši matrica yra ypač naudinga vertinant modelio našumą, išskyrus pagrindines tikslumo metrikas.
Supraskime painiavos matricą su pavyzdžiais:
Sumaišties matrica Dvejetainei klasifikacijai
Žemiau parodyta 2x2 painiavos matrica, skirta atpažinti vaizdą su šuns arba ne šuns vaizdu.
| Faktinis | ||
|---|---|---|---|
Šuo | Ne šuo | ||
Numatyta | Šuo | Tikras teigiamas | Klaidingai teigiamas |
Ne šuo | Klaidingas neigiamas | Tikras neigiamas ankstyvieji mukeriai |
- Tikras teigiamas (TP): Tai yra bendras skaičius, turintis prognozuojamas ir faktines vertes, yra šuo.
- Tikrasis neigiamas (TN): Tai yra bendras skaičius, turintis tiek prognozuojamas, tiek faktines vertes, nėra šuo.
- Klaidingas teigiamas (FP): Prognozuojama, kad bendras skaičius yra šuo, o iš tikrųjų ne šuo.
- Klaidingas neigiamas (FN): Tai yra bendras skaičius, pagal kurį prognozuojama, kad tai nėra šuo, o iš tikrųjų tai yra šuo.
Dvejetainės klasifikacijos problemų pavyzdys
Indeksas | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
Faktinis | Šuo | Šuo | Šuo | Ne šuo | Šuo | Ne šuo | Šuo | Šuo | Ne šuo | Ne šuo |
Numatyta | Šuo | Ne šuo | Šuo | Ne šuo | Šuo | Šuo | Šuo | Šuo | Ne šuo | Ne šuo |
Rezultatas | Miestas | FN | Miestas | TN | Miestas | FP | Miestas | Miestas | TN | TN |
- Faktinis šunų skaičius = 6
- Faktinis ne šunų skaičius = 4
- Tikri teigiami skaičiai = 5
- Klaidingai teigiami skaičiai = 1
- Tikri neigiami skaičiai = 3
- Klaidingai neigiami skaičiai = 1
| Numatyta | ||
|---|---|---|---|
Šuo | Ne šuo | ||
Faktinis | Šuo | Tikras teigiamas | Klaidingas neigiamas |
Ne šuo | Klaidingai teigiamas | Tikras neigiamas |
Metrika, pagrįsta painiavos matricos duomenimis
1. Tikslumas
Tikslumas naudojamas modelio veikimui matuoti. Tai visų teisingų atvejų ir visų atvejų santykis.
Pirmiau nurodytu atveju:
Tikslumas = (5+3)/(5+3+1+1) = 8/10 = 0,8
2. Tikslumas
Tikslumas yra modelio teigiamų prognozių tikslumo matas. Jis apibrėžiamas kaip tikrų teigiamų prognozių ir bendro modelio teigiamų prognozių skaičiaus santykis.
Pirmiau nurodytu atveju:
Tikslumas = 5/(5+1) =5/6 = 0,8333
3. Prisiminkite
Prisiminkite matuoja klasifikavimo modelio veiksmingumą identifikuojant visus susijusius atvejus iš duomenų rinkinio. Tai tikrų teigiamų (TP) atvejų skaičiaus santykis su tikrų teigiamų ir klaidingai neigiamų (FN) atvejų suma.
Pirmiau nurodytu atveju:
Prisiminkite = 5/(5+1) =5/6 = 0,8333
Pastaba: Naudojame tikslumą, kai norime sumažinti klaidingų teigiamų rezultatų skaičių, o tai labai svarbu tokiais atvejais, kaip el. pašto šiukšlių aptikimas, kai neteisingai klasifikuoti ne šlamštą kaip šlamštą kainuoja brangiai. Mes naudojame atšaukimą, kai labai svarbu sumažinti klaidingų neigiamų skaičių, kaip ir atliekant medicinines diagnozes, kai labai svarbu nustatyti visus faktinius teigiamus atvejus, net jei dėl to gaunami klaidingi teigiami rezultatai.
4. F1 rezultatas
F1 rezultatas naudojamas bendram klasifikavimo modelio veikimui įvertinti. Tai harmoningas tikslumo ir prisiminimo vidurkis,
Pirmiau nurodytu atveju:
F1 balas: = (2* 0,8333* 0,8333)/(0,8333+ 0,8333) = 0,8333
Mes suderiname tikslumą ir atmintį su F1 balu, kai reikia kompromiso tarp klaidingų teigiamų ir klaidingų neigiamų rezultatų sumažinimo, pavyzdžiui, informacijos paieškos sistemose.
5. Specifiškumas:
Specifiškumas yra dar viena svarbi metrika vertinant klasifikavimo modelius, ypač dvejetainėje klasifikacijoje. Jis matuoja modelio gebėjimą teisingai nustatyti neigiamus atvejus. Specifiškumas taip pat žinomas kaip tikrasis neigiamas rodiklis.
Specifiškumas=3/(1+3)=3/4=0,75
6. 1 tipo ir 2 tipo klaida
1 tipo klaida
1 tipo klaida įvyksta, kai modelis numato teigiamą atvejį, bet iš tikrųjų jis yra neigiamas. Tikslumui įtakos turi klaidingi teigiami rezultatai, nes tai yra tikrų teigiamų ir tikrų teigiamų bei klaidingų teigiamų rezultatų santykis.
Pavyzdžiui, teismo posėdžių salės scenarijuje 1 tipo klaida, dažnai vadinama klaidingai teigiama, įvyksta, kai teismas per klaidą nuteisia asmenį kaltu, kai iš tikrųjų jis yra nekaltas dėl tariamo nusikaltimo. Ši rimta klaida gali turėti gilių pasekmių, dėl kurių nekaltas asmuo, kuris nepadarė atitinkamo nusikaltimo, bus nubaustas neteisėtai. 1 tipo klaidų prevencija teisminiuose procesuose yra svarbiausia siekiant užtikrinti, kad teisingumas būtų vykdomas tiksliai, o nekalti asmenys būtų apsaugoti nuo nepagrįstos žalos ir bausmės.
2 tipo klaida
2 tipo klaida įvyksta, kai modelis nesugeba numatyti teigiamo atvejo. Prisiminimą tiesiogiai veikia klaidingai neigiami rezultatai, nes tai yra tikrų teigiamų ir tikrų teigiamų bei klaidingų neigiamų rezultatų santykis.
Atliekant medicininius tyrimus, 2 tipo klaida, dažnai vadinama klaidingai neigiama, įvyksta, kai diagnostiniu tyrimu nepavyksta nustatyti ligos buvimo pacientui, kuris tikrai ja serga. Tokios klaidos pasekmės yra reikšmingos, nes gali būti pavėluota diagnozė ir vėlesnis gydymas.
Tikslumas pabrėžia klaidingų teigiamų rezultatų sumažinimą, o atšaukimas sutelkia dėmesį į klaidingų teigiamų rezultatų sumažinimą.
Sumaišties matricos įgyvendinimas dvejetainei klasifikacijai naudojant Python
1 veiksmas: importuokite reikiamas bibliotekas
Python import numpy as np from sklearn.metrics import confusion_matrix,classification_report import seaborn as sns import matplotlib.pyplot as plt> 2 veiksmas: sukurkite „NumPy“ masyvą faktinėms ir numatomoms etiketėms
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 veiksmas: apskaičiuokite painiavos matricą
Python cm = confusion_matrix(actual,predicted)> 4 žingsnis: Nubraižykite painiavos matricą naudodamiesi jūros šilumos žemėlapiu
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()> Išvestis :
eilutė char java
5 veiksmas: Klasifikacijų ataskaita, pagrįsta painiavos metrika
Python print(classification_report(actual, predicted))> Išvestis :
tikslaus atšaukimo f1 balo palaikymas šuo 0,83 0,83 0,83 6 ne šuo 0,75 0,75 0,75 4 tikslumas 0,80 10 makrovid. 0,79 0,79 0,79 10 svertinis vidurkis 0,80 0,8080 .
Sumaišties matrica kelių klasių klasifikacijai
Dabar apsvarstykime, kad yra trys klasės. 3x3 painiavos matrica parodyta žemiau trijų klasių vaizdo.
Čia TP = tikras teigiamas , FP = klaidingas teigiamas , FN = klaidingas neigiamas.
| Indeksas | Faktinis | Numatyta | Miestas | FP | FN |
|---|---|---|---|---|---|
| 1 | Katė | Katė | 1 | 0 | 0 |
| 2 | Šuo | Šuo | 1 | 0 | 0 |
| 3 | Arklys | Šuo | 0 | 1 | 1 |
| 4 | Katė | Katė | 1 | 0 | 0 |
| 5 | Šuo | Šuo | 1 | 0 | 0 |
| 6 | Katė | Katė | 1 | 0 | 0 |
| 7 | Šuo | Šuo | 1 | 0 | 0 |
| 8 | Arklys | Arklys | 1 | 0 | 0 |
| 9 | Arklys | Arklys | 1 | 0 | 0 |
| 10 | Katė | Šuo | 0 | 1 | 1 |
- Tikri teigiami rezultatai (TP): 8 (1+1+0+1+1+1+1+1+1+0)
- Klaidingi teiginiai (FP): 2 (0+0+1+0+0+0+0+0+0+1)
- Klaidingi neigiami (FN): 2 (0+0+1+0+0+0+0+0+0+1)
Žemiau parodyta trijų klasių 3X3 painiavos matrica.
| Numatyta | |||
|---|---|---|---|---|
Katė | Šuo | Arklys | ||
| Katė | Miestas | FP | FN |
Šuo | FP | Miestas | FN | |
Arklys pothineni avinas | FN | FP | Miestas |
Santrauka pagal klasę:
- Katėms: [TP=3,FP=0,FN=1]
- 1 indeksas: tikrai teigiamas (faktinė katė, numatoma katė)
- 4 indeksas: tikras teigiamas (faktinė katė, numatoma katė)
- 6 indeksas: tikrai teigiamas (faktinė katė, numatoma katė)
- 10 indeksas: klaidingai neigiamas (tikroji katė, prognozuojamas šuo)
- Šuniui: [TP=3,FP=2,FN=0]
- 2 indeksas: tikrai teigiamas (šuo faktinis, šuo prognozuojamas)
- 5 indeksas: tikrai teigiamas (šuo tikras, šuo prognozuojamas)
- 7 indeksas: tikrai teigiamas (šuo faktinis, šuo prognozuojamas)
- 10 indeksas: klaidingai teigiamas (tikroji katė, prognozuojamas šuo)
- 3 indeksas: klaidingai teigiamas (tikrasis arklys, prognozuojamas šuo)
- Arkliui: [TP=2,FP=0,FN=1]
- 8 indeksas: tikrai teigiamas (tikrasis arklys, numatytas arklys)
- 9 indeksas: tikras teigiamas (tikrasis arklys, numatytas arklys)
- 3 indeksas: klaidingai neigiamas (tikrasis arklys, prognozuojamas šuo)
Tada painiavos matrica bus tokia:
| Numatyta | |||
|---|---|---|---|---|
Katė | Šuo | Arklys | ||
| Katė | TP(3) | FP(1) | FN(0) |
Šuo | FN(0) | TP(3) | FN(1) | |
Arklys | FN(1) | FP(1) | TP(2) |
Sumaišties matricos įgyvendinimas dvejetainei klasifikacijai naudojant Python
1 veiksmas: importuokite reikiamas bibliotekas
Python import numpy as np from sklearn.metrics import confusion_matrix, classification_report import seaborn as sns import matplotlib.pyplot as plt> 2 veiksmas: sukurkite NumPy masyvą faktinėms ir numatomoms etiketėms
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 veiksmas: apskaičiuokite painiavos matricą
Python cm = confusion_matrix(actual,predicted)> 4 žingsnis: Nubraižykite painiavos matricą naudodamiesi jūros šilumos žemėlapiu
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()> Išvestis:
5 veiksmas: Klasifikacijų ataskaita, pagrįsta painiavos metrika
Python print(classification_report(actual, predicted))> Išvestis :
tikslaus atšaukimo f1 balo palaikymas Katė 1,00 0,75 0,86 4 Šuo 0,60 1,00 0,75 3 Arklys 1,00 0,67 0,80 3 tikslumas 0,80 10 makro vid. 0,87 0,81 0,80 a.80 g 0
Išvada
Apibendrinant galima teigti, kad painiavos matrica yra esminė priemonė klasifikavimo modelių efektyvumui įvertinti. Įžvalgos apie modelio tikslumą, tikslumą, prisiminimą ir bendrą veiksmingumą klasifikuojant atvejus suteikia išsamiai analizuojant jo siūlomus tikrus teigiamus, tikrus neigiamus, klaidingai teigiamus ir klaidingus neigiamus prognozes. Straipsnyje buvo pateikti pavyzdžiai, iliustruojantys kiekvienos metrikos skaičiavimą ir aptarta jo svarba. Taip pat buvo parodyta, kaip „Python“ gali būti įdiegtos painiavos matricos dvejetainiuose ir kelių klasių klasifikavimo scenarijuose. Suprasdami ir taikydami šias metrikas, praktikai gali priimti gerai pagrįstus sprendimus dėl modelio veikimo, ypač kai susiduriama su nesubalansuotu klasių pasiskirstymu.
DUK apie Confusion Matrix
K. Kaip interpretuoti painiavos matricą?
Sumaišties matrica apibendrina klasifikavimo modelio našumą su įrašais, vaizduojančiais tikrą teigiamą, tikrą neigiamą, klaidingai teigiamą ir klaidingą neigiamą atvejį, ir suteikia įžvalgų apie modelio tikslumą ir klaidas.
K. Kokie yra Confusion matricos naudojimo pranašumai?
Sumaišties matrica pateikia išsamų klasifikavimo modelio našumo įvertinimą, pateikia įžvalgų apie tikrus teigiamus, tikrus neigiamus, klaidingus teigiamus ir klaidingus neigiamus aspektus, o tai padeda atlikti niuansų analizę, kuri nėra tiksli.
K. Kokie yra painiavos matricos programų pavyzdžiai?
Sumaišties matricos randamos pritaikymo įvairiose srityse, įskaitant medicininę diagnostiką (tikrų / klaidingų teigiamų / neigiamų ligų nustatymą), sukčiavimo aptikimą, nuotaikų analizę ir vaizdo atpažinimo tikslumo vertinimą.
K. Kas yra painiavos matricos diagrama?
Sumaišties matricos diagrama vizualiai parodo klasifikavimo modelio veikimą. Jis rodo tikras teigiamas, tikras neigiamas, klaidingai teigiamas ir klaidingas neigiamas vertes struktūrinės matricos formatu.
K. Kokios yra trys painiavos matricos reikšmės?
Trys painiavos matricos reikšmės yra tikroji teigiama (teisingai numatyti teigiami atvejai), tikroji neigiama (teisingai numatyti neigiami atvejai) ir klaidingai teigiami (neteisingai numatyti teigiami atvejai).