logo

Sekaannusmatriisi koneoppimisessa

Sisään koneoppiminen , luokittelu on prosessi, jossa tietty tietojoukko luokitellaan eri luokkiin. Koneoppimisessa käytämme luokitusmallin suorituskyvyn mittaamiseen sekaannusmatriisi . Tämän opetusohjelman avulla ymmärrät sekaannusmatriisin merkityksen.

Mikä on hämmennysmatriisi?

A sekaannusmatriisi on matriisi, joka esittää yhteenvedon koneoppimismallin suorituskyvystä testidatajoukolla. Se on tapa näyttää tarkkojen ja epätarkkojen tapausten lukumäärä mallin ennusteiden perusteella. Sitä käytetään usein mittaamaan luokittelumallien suorituskykyä, joiden tavoitteena on ennustaa kategorinen nimiö jokaiselle syöttöesiintymälle.

Matriisi näyttää mallin tuottamien esiintymien lukumäärän testitiedoissa.



  • Todelliset positiiviset (TP): tapahtuu, kun malli ennustaa tarkasti positiivisen datapisteen.
  • Todelliset negatiivit (TN) : esiintyy, kun malli ennustaa tarkasti negatiivisen datapisteen.
  • Vääriä positiivisia (FP) : esiintyy, kun malli ennustaa positiivisen datapisteen väärin.
  • Väärä negatiivit (FN) : esiintyy, kun malli ennustaa negatiivisen datapisteen väärin.

Miksi tarvitsemme hämmennysmatriisin?

Luokittelumallin suorituskykyä arvioitaessa hämmennysmatriisi on välttämätön. Se tarjoaa perusteellisen analyysin tosi positiivisista, tosi negatiivisista, vääristä positiivisista ja vääristä negatiivisista ennusteista, mikä helpottaa mallin syvempää ymmärtämistä. muistaminen, tarkkuus, tarkkuus, ja yleinen tehokkuus luokkaerossa. Kun tietojoukossa on epätasainen luokkajakauma, tämä matriisi on erityisen hyödyllinen arvioitaessa mallin suorituskykyä perustarkkuusmittareiden lisäksi.

Ymmärretään sekaannusmatriisi esimerkeillä:

Sekaannusmatriisi Binääriluokitukseen

Alla on esitetty 2X2-sekaisuusmatriisi kuvantunnistusta varten, jossa on koirakuva tai ei koira -kuva.

Todellinen

Koira

Ei Koira

Ennustettu

Koira

Tosi positiivista
(TP)

Väärä positiivinen
(FP)

Ei Koira

Väärä negatiivinen
(FN)

Todellinen negatiivinen
(TN)

  • Tosi positiivinen (TP): Se on kokonaismäärät, joilla on sekä ennustetut että todelliset arvot, ovat koira.
  • Todellinen negatiivinen (TN): Se on kokonaismäärä, jossa on sekä ennustettu että todellinen arvo, ei ole koira.
  • Väärin positiivinen (FP): Se on kokonaismäärä, jonka ennuste on koira, mutta itse asiassa ei koira.
  • Väärä negatiivinen (FN): Se on kokonaismäärä, jonka ennuste ei ole koira, kun taas itse asiassa se on koira.

Esimerkki binääriluokitteluongelmista

Indeksi

1

2

3

4

5

6

7

8

9

10

Todellinen

Koira

Koira

Koira

Ei Koira

Koira

Ei Koira

Koira

java sisältää alimerkkijonon

Koira

Ei Koira

Ei Koira

Ennustettu

Koira

Ei Koira

Koira

Ei Koira

Koira

Koira

Koira

Koira

kuinka koulu keksittiin

Ei Koira

Ei Koira

Tulos

Kaupunki

FN

Kaupunki

TN

Kaupunki

FP

Kaupunki

Kaupunki

TN

TN

  • Todelliset koiramäärät = 6
  • Todelliset ei koiran määrät = 4
  • Todelliset positiiviset määrät = 5
  • Vääriä positiivisia lukuja = 1
  • Todelliset negatiiviset määrät = 3
  • Väärät negatiiviset määrät = 1

Ennustettu

Koira

Ei Koira


Todellinen

Koira

Tosi positiivista
(TP = 5)

Väärä negatiivinen
(FN = 1)

Ei Koira

Väärä positiivinen
(FP=1)

Todellinen negatiivinen
(TN=3)

Sekaannusmatriisitietoihin perustuvat mittarit

1. Tarkkuus

Tarkkuutta käytetään mallin suorituskyvyn mittaamiseen. Se on oikeiden esiintymien kokonaismäärän suhde esiintymien kokonaismäärään.

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

Yllä olevaan tapaukseen:

Tarkkuus = (5+3)/(5+3+1+1) = 8/10 = 0,8

2. Tarkkuus

Tarkkuus on mitta siitä, kuinka tarkkoja mallin positiiviset ennusteet ovat. Se määritellään todellisten positiivisten ennusteiden suhteeksi mallin tekemien positiivisten ennusteiden kokonaismäärään.

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

Yllä olevaan tapaukseen:

Tarkkuus = 5/(5+1) =5/6 = 0,8333

3. Muista

Palauttaa mieleen mittaa luokitusmallin tehokkuutta kaikkien relevanttien esiintymien tunnistamisessa tietojoukosta. Se on tosi positiivisten (TP) esiintymien lukumäärän suhde tosipositiivisten ja väärien negatiivisten (FN) tapausten summaan.

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

Yllä olevaan tapaukseen:

Masonin kaava

Muista = 5/(5+1) =5/6 = 0,8333

Huomautus: Käytämme tarkkuutta, kun haluamme minimoida vääriä positiivisia tuloksia, mikä on ratkaisevan tärkeää roskapostin havaitsemisen kaltaisissa tilanteissa, joissa ei-roskapostiviestin luokittelu väärin roskapostiksi on kallista. Ja käytämme muistamista, kun väärien negatiivisten tulosten minimoiminen on välttämätöntä, kuten lääketieteellisissä diagnooseissa, joissa kaikkien todellisten positiivisten tapausten tunnistaminen on kriittistä, vaikka se johtaisi joihinkin vääriin positiivisiin tuloksiin.

4. F1-pisteet

F1-pisteet käytetään arvioimaan luokitusmallin yleistä suorituskykyä. Se on tarkkuuden ja muistamisen harmoninen keskiarvo,

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

Yllä olevaan tapaukseen:

F1-pisteet: = (2* 0,8333* 0,8333)/(0,8333+ 0,8333) = 0,8333

Tasapainotamme tarkkuuden ja muistamisen F1-pisteen kanssa, kun tarvitaan kompromissi väärien positiivisten ja väärien negatiivisten minimoinnin välillä, kuten tiedonhakujärjestelmissä.

5. Spesifisyys:

Spesifisyys on toinen tärkeä mittari luokittelumallien arvioinnissa, erityisesti binääriluokituksessa. Se mittaa mallin kykyä tunnistaa oikein negatiiviset esiintymät. Spesifisyys tunnetaan myös nimellä todellinen negatiivinen korko.

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

Spesifisyys=3/(1+3)​=3/4=0,75

6. Tyypin 1 ja tyypin 2 virhe

Tyypin 1 virhe

Tyypin 1 virhe tapahtuu, kun malli ennustaa positiivisen esiintymän, mutta se on itse asiassa negatiivinen. Väärät positiiviset vaikuttavat tarkkuuteen, koska se on todellisten positiivisten suhde todellisten positiivisten ja väärien positiivisten summaan.

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

Esimerkiksi oikeussalissa tyypin 1 virhe, jota usein kutsutaan vääräksi positiiviseksi, tapahtuu, kun tuomioistuin erehdyksessä tuomitsee henkilön syylliseksi, vaikka hän itse asiassa on syytön väitettyyn rikokseen. Tällä vakavalla virheellä voi olla syvällisiä seurauksia, jotka johtavat viattoman henkilön, joka ei ole tehnyt kyseistä rikosta, laittomaan rangaistukseen. Tyypin 1 virheiden ehkäiseminen oikeudenkäynneissä on ensiarvoisen tärkeää sen varmistamiseksi, että oikeus toteutuu oikein ja viattomia henkilöitä suojellaan aiheettomilta vahingoilta ja rangaistuksilta.

Tyypin 2 virhe

Tyypin 2 virhe tapahtuu, kun malli ei pysty ennustamaan positiivista esiintymää. Väärät negatiivit vaikuttavat suoraan palauttamiseen, koska se on todellisten positiivisten suhde todellisten positiivisten ja väärien negatiivisten summaan.

Lääketieteellisen testauksen yhteydessä tyypin 2 virhe, joka tunnetaan usein vääränä negatiivisena, tapahtuu, kun diagnostinen testi ei pysty havaitsemaan sairautta potilaassa, jolla se aidosti on. Tällaisen virheen seuraukset ovat merkittäviä, koska se voi johtaa viivästyneeseen diagnoosiin ja myöhempään hoitoon.

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

Tarkkuus korostaa väärien positiivisten minimoimista, kun taas muistaminen keskittyy väärien negatiivisten minimoimiseen.

Sekaannusmatriisin toteutus binääriluokitukseen Pythonilla

Vaihe 1: Tuo tarvittavat kirjastot

Python import numpy as np from sklearn.metrics import confusion_matrix,classification_report import seaborn as sns import matplotlib.pyplot as plt>

Vaihe 2: Luo NumPy-taulukko todellisille ja ennakoiduille tarroille

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'])>

Vaihe 3: Laske sekaannusmatriisi

Python cm = confusion_matrix(actual,predicted)>

Vaihe 4: Piirrä hämmennysmatriisi meressä syntyneen lämpökartan avulla

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

Lähtö :

Vaihe 5: Luokitteluraportti, joka perustuu hämmennysmittariin

Python print(classification_report(actual, predicted))>

Lähtö :

tarkkuuskutsu f1-pisteiden tuki Koira 0,83 0,83 0,83 6 Ei koira 0,75 0,75 0,75 4 tarkkuus 0,80 10 makrokeskiarvo 0,79 0,79 0,79 10 painotettu keskiarvo 0,80 0,8080 .

Sekaannusmatriisi moniluokkaiseen luokitukseen

Ajatellaan nyt, että luokkaa on kolme. 3X3 sekaannusmatriisi on esitetty alla kuvalle, jossa on kolme luokkaa.

Tässä TP = tosi positiivinen , FP = väärä positiivinen , FN = väärä negatiivinen.

IndeksiTodellinenEnnustettuKaupunkiFPFN
1KissaKissa100
2KoiraKoira100
3HevonenKoira011
4KissaKissa100
5KoiraKoira100
6KissaKissa100
7KoiraKoira100
8HevonenHevonen100
9HevonenHevonen100
10KissaKoira011
  • Todelliset positiiviset (TP): 8 (1+1+0+1+1+1+1+1+1+0)
  • Väärät positiiviset (FP): 2 (0+0+1+0+0+0+0+0+0+1)
  • Väärät negatiivit (FN): 2 (0+0+1+0+0+0+0+0+0+1)

3X3 sekaannusmatriisi on esitetty alla kolmelle luokalle.

Ennustettu

Kissa

Koira

Hevonen


Todellinen

Kissa

Kaupunki

FP

FN

Koira

FP

Kaupunki

FN

Hevonen

FN

FP

Kaupunki

Luokkakohtainen yhteenveto:

  • Cat: [TP=3,FP=0,FN=1]
    • Hakemisto 1: Tosi positiivinen (Kissa todellinen, Kissa ennustettu)
    • Hakemisto 4: Tosi positiivinen (Kissa todellinen, Kissa ennustettu)
    • Hakemisto 6: Tosi positiivinen (Kissa todellinen, Kissa ennustettu)
    • Hakemisto 10: Väärä negatiivinen (Kissa todellinen, koiran ennustettu)
  • Koira: [TP=3,FP=2,FN=0]
    • Hakemisto 2: Tosi positiivinen (koira todellinen, koira ennustettu)
    • Hakemisto 5: Tosi positiivinen (koira todellinen, koira ennustettu)
    • Hakemisto 7: Tosi positiivinen (koira todellinen, koira ennustettu)
    • Indeksi 10: Väärin positiivinen (Kissa todellinen, koira ennustettu)
    • Indeksi 3: Väärin positiivinen (hevonen, koiran ennustettu)
  • Hevoselle: [TP=2,FP=0,FN=1]
    • Hakemisto 8: Tosi positiivinen (hevonen todellinen, hevonen ennustettu)
    • Indeksi 9: Tosi positiivinen (hevonen todellinen, hevonen ennustettu)
    • Hakemisto 3: Väärä negatiivinen (hevonen, koiran ennustettu)

Sitten hämmennysmatriisi on:

Ennustettu

Kissa

Koira

Hevonen


Todellinen

Kissa

TP(3)

FP(1)

FN(0)

Koira

FN(0)

TP(3)

FN(1)

Hevonen

onko kat timpf lakimies

FN(1)

FP(1)

TP(2)

Sekaannusmatriisin toteutus binääriluokitukseen Pythonilla

Vaihe 1: Tuo tarvittavat kirjastot

Python import numpy as np from sklearn.metrics import confusion_matrix, classification_report import seaborn as sns import matplotlib.pyplot as plt>

Vaihe 2: Luo NumPy-taulukko todellisille ja ennakoiduille tarroille

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'])>

Vaihe 3: Laske sekaannusmatriisi

Python cm = confusion_matrix(actual,predicted)>

Vaihe 4: Piirrä hämmennysmatriisi meressä syntyneen lämpökartan avulla

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

Lähtö:

Vaihe 5: Luokitteluraportti, joka perustuu hämmennysmittariin

Python print(classification_report(actual, predicted))>

Lähtö :

tarkkuuskutsu f1-pisteet Kissa 1,00 0,75 0,86 4 Koira 0,60 1,00 0,75 3 Hevonen 1,00 0,67 0,80 3 tarkkuus 0,80 10 makro keskipaino 0,87 0,81 0,80 a.80g 0,80 0

Johtopäätös

Yhteenvetona voidaan todeta, että hämmennysmatriisi on olennainen väline luokitusmallien tehokkuuden arvioinnissa. Mallin tarjoamien tosi positiivisten, tosi negatiivisten, väärien positiivisten ja väärien negatiivisten ennusteiden perusteellinen analyysi antaa näkemyksiä mallin tarkkuudesta, tarkkuudesta, muistamisesta ja yleisestä tehokkuudesta tapausten luokittelussa. Artikkelissa esitettiin esimerkkejä kunkin mittarin laskentaa havainnollistamaan ja keskusteltiin sen tärkeydestä. Se osoitti myös, kuinka sekaannusmatriiseja voidaan toteuttaa Pythonissa binääri- ja moniluokkaluokitteluskenaarioissa. Ammatinharjoittajat voivat tehdä perusteltuja päätöksiä mallin suorituskyvystä – varsinkin kun he ovat tekemisissä epätasapainoisten luokkajakaumien kanssa – ymmärtämällä ja soveltamalla näitä mittareita.

Usein kysytyt kysymykset Confusion Matrixista

K. Kuinka tulkita hämmennysmatriisia?

Sekaannusmatriisi tiivistää luokitusmallin suorituskyvyn, ja merkinnät edustavat tosi positiivisia, tosi negatiivisia, vääriä positiivisia ja vääriä negatiivisia tapauksia, mikä antaa käsityksen mallin tarkkuudesta ja virheistä.

K. Mitä etuja Confusion-matriisin käytöstä on?

Sekaannusmatriisi tarjoaa kattavan arvion luokitusmallin suorituskyvystä ja tarjoaa näkemyksiä todellisista positiivisista, todellisista negatiivisista, vääristä positiivisista ja vääristä negatiivisista tekijöistä ja auttaa vivahteikkaassa analyysissä perustarkkuuden lisäksi.

K. Mitkä ovat esimerkkejä hämmennysmatriisisovelluksista?

Sekaannusmatriiseja voidaan käyttää useilla aloilla, mukaan lukien lääketieteellinen diagnoosi (tautien oikeiden/väärien positiivisten/negatiivisten tunnistaminen), petosten havaitseminen, mielialan analyysi ja kuvantunnistuksen tarkkuuden arviointi.

K. Mikä on sekaannusmatriisikaavio?

Sekaannusmatriisikaavio edustaa visuaalisesti luokitusmallin suorituskykyä. Se näyttää tosi positiiviset, tosi negatiiviset, väärät positiiviset ja väärät negatiiviset arvot strukturoidussa matriisimuodossa.

K. Mitkä ovat sekaannusmatriisin kolme arvoa?

Sekaannusmatriisin kolme arvoa ovat tosi positiiviset (oikein ennustetut positiiviset esiintymät), tosi negatiiviset (oikein ennustetut negatiiviset tapaukset) ja väärä positiiviset (väärin ennustetut positiiviset tapaukset).