Sisään , meillä on yleensä 2 erilaista käyttötapausta, ja ongelma. Confusion Matrix auttaa luokitusmallin tarkkuuden laskemisessa, mikä auttaa meitä epäsuorasti kuvaamaan luokitusmallin suorituskykyä. Se on tärkein askel mallin arvioinnissa. Käsittelen seuraavia aiheita tässä artikkelissa:
2. Sekaannusmatriisin tarkkuus ja komponentit
3. Tarkkuus, palautus ja F-mittaus
4. Sekoitusmatriisin luominen Pythonin ja Sklearnin avulla
Mikä on sekaannusmatriisi?
Sekaannusmatriisi on vertailuyhteenveto ennustetuista tuloksista ja todellisista tuloksista missä tahansa luokitusongelman käyttötapauksessa. Vertailukooste on äärimmäisen välttämätön mallin suorituskyvyn määrittämiseksi sen jälkeen, kun se on koulutettu joillakin harjoitustiedoilla. Binaarisen luokituksen käyttötapauksessa sekaannusmatriisi on 2 × 2 -matriisi, joka on alla olevan kuvan mukainenEnnustettu luokan 1 arvo EG: 1 | Ennustettu luokan 2 arvo EG: 0 | |
Todellinen luokan 1 arvo EG: 1 | TP (todellinen positiivinen) | FN (väärä negatiivinen) |
Todellinen luokan 2 arvo EG: 0 | FP (väärä positiivinen) | TN (tosi negatiivinen) |
Yllä olevasta kuvasta:
Meillä on,
- Todellinen luokan 1 arvo = 1, joka on samanlainen kuin positiivisen arvon binaarituloksessa.
- Todellinen luokan 2 arvo = 0, joka on samanlainen kuin binaarituloksen negatiivinen arvo.
Sekaannusmatriisin vasemmanpuoleinen indeksi osoittaa periaatteessa todelliset arvot ja ylempi sarake osoittaa ennustetut arvot.
Sekoitusmatriisin luomisessa on olemassa useita komponentteja. Komponentit mainitaan alla
Positiivinen (P): Ennustettu tulos on positiivinen (Esimerkki: Kuva on kissa)
Negatiivinen (N): ennustettu tulos on negatiivinen (Esimerkki: Kuvat eivät ole kissa)
Todellinen positiivinen (TP): Tässä TP osoittaa periaatteessa ennustetun ja todelliset arvot ovat 1 (True)
Todellinen negatiivinen (TN): Tässä TN ilmaisee ennustetun ja todellinen arvo on 0 (väärä)
Väärä negatiivinen (FN): Tässä FN osoittaa, että ennustettu arvo on 0 (negatiivinen) ja todellinen arvo on 1. Tässä molemmat arvot eivät täsmää. Siksi se on väärä negatiivinen.
Väärä positiivinen (FP): Tässä FP osoittaa, että ennustettu arvo on 1 (positiivinen) ja todellinen arvo 0. Tässä taas molemmat arvot eivät täsmää. Siksi se on väärä positiivinen.
Sekaannusmatriisin tarkkuus ja komponentit
Kun sekaannusmatriisi on luotu ja määritetty kaikki komponenttien arvot, tarkkuuden laskeminen on meille melko helppoa. Joten katsotaanpa komponentit ymmärtämään tätä paremmin.- Luokittelun tarkkuus
Edellä esitetystä kaavasta TP: n (tosi positiivinen) ja TN: n (tosi negatiivinen) summa on oikea ennustettu tulos. Siksi tarkkuuden laskemiseksi prosentteina jaamme kaikkien muiden komponenttien kanssa. Tarkkuudessa on kuitenkin joitain ongelmia, emmekä voi olla täysin riippuvaisia siitä.
Katsotaanpa, että tietojoukkomme on täysin epätasapainossa. Tässä skenaariossa 98%: n tarkkuus voi olla hyvä tai huono ongelmalausekkeen perusteella. Siksi meillä on vielä joitain avainsanoja, jotka auttavat meitä olemaan varmoja laskemastamme tarkkuudesta. Ehdot ovat seuraavat:
- TPR (todellinen positiivinen osuus) tai herkkyys:
Todellinen positiivinen osuus, joka tunnetaan myös nimellä herkkyys, mittaa todellisen positiivisen prosenttiosuuden todellisten positiivisten kokonaismäärien suhteen, joka ilmaistaan (TP + FN)
muuntamalla kaksinkertainen int
Ennustettu luokan 1 arvo EG: 1 | Ennustettu luokan 2 arvo EG: 0 | Kaikki yhteensä | |
Todellinen luokan 1 arvo EG: 1 | TP (todellinen positiivinen) | FN (väärä negatiivinen) | Todelliset positiiviset kokonaismäärä |
Todellinen luokan 2 arvo EG: 0 | FP (väärä positiivinen) | TN (tosi negatiivinen) | Todelliset negatiiviset yhteensä |
- TNR (True Negative Rate) tai spesifisyys:
Todellinen negatiivinen osuus tai spesifisyys mittaa todellisten negatiivisten osuutta negatiivisten kokonaismäärästä
Ennustettu luokan 1 arvo EG: 1 | Ennustettu luokan 2 arvo EG: 0 | Kaikki yhteensä | |
Todellinen luokan 1 arvo EG: 1 | TP (todellinen positiivinen) | FN (väärä negatiivinen) | Todelliset positiiviset kokonaismäärä |
Todellinen luokan 2 arvo EG: 0 | FP (väärä positiivinen) | TN (tosi negatiivinen) | Todelliset negatiiviset yhteensä |
TNR = tosi negatiivinen / (tosi negatiivinen + väärä positiivinen)
- Väärä positiivinen osuus (FPR):
Väärän positiivisen prosenttiosuus on ennustetun väärän positiivisen (FP) prosenttiosuus ennustettujen positiivisten tulosten kokonaismäärästä (TP + FP).
Ennustettu luokan 1 arvo EG: 1 | Ennustettu luokan 2 arvo EG: 0 | |
Todellinen luokan 1 arvo EG: 1 | TP (todellinen positiivinen) | FN (väärä negatiivinen) |
Todellinen luokan 2 arvo EG: 0 | FP (väärä positiivinen) | TN (tosi negatiivinen) |
Ennustetun positiivisen kokonaissumma | Ennustettujen negatiivisten kokonaissumma |
- Väärän negatiivinen osuus (FNR):
False Negative Rate on ennustetun väärän negatiivisen (FP) prosenttiosuus ennustettujen negatiivisten tulosten kokonaismäärästä (TN + FN).
Tarkkuus, palautus ja F-mittaus
- Palauttaa mieleen:
Palautus on samanlainen kuin todellinen positiivinen osuus ja se on oikein ennustettujen positiivisten arvojen (TP) kokonaismäärän suhde kaikkiin positiivisiin arvoihin.
- Tarkkuus:
Tarkkuus osoittaa periaatteessa kaikki pisteet, jotka malli ennusti positiivisiksi, ja kuinka suuri osa niistä on tosiasiallisesti positiivisia.
Tarkkuus ja palautus ovat mittarituloksia, jotka keskittyvät positiiviseen luokkaan, kuten yllä olevista kaavoista käy ilmi.
- F-mittaa
Joten F-Measure on tekniikka, joka yhdistää sekä Precision- että Recall-tekniikan ja siinä käytetään harmonista keskiarvoa tavallisen aritmeettisen keskiarvon sijasta, minkä vuoksi ääri-arvoista rangaistaan. F-mittaa kutsutaan myös F1-pisteeksi ja se annetaan alla olevan kaavan avulla.
Tarkastellaanpa esimerkkiä ja kuinka voimme laskea tarkkuuden, tarkkuuden, palautuksen ja F1-pistemäärän.
N = 165 | Ennakoitu KYLLÄ | Ennustettu EI |
Todellinen KYLLÄ | TP = 150 | FN = 10 |
Nykyinen NO | FP = 20 | TN = 100 |
- Tarkkuus = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0,89
- Palautus = TP / (TP + FN) = 150 / (150 + 10) = 0,93
- Tarkkuus: TP / (TP + FP) = 150 / (150 + 20) = 0,88
java-komento ohjelman lopettamiseksi
- F-mitta = (2 * Takaisin * Tarkkuus) / (Palauta + Esivalinta) = (2 * 0,93 * 0,88) / (0,93 + 0,88) = 0,90
Sekoitusmatriisin luominen Pythonin ja Sklearnin avulla
Nyt näemme esimerkin siitä, miten voimme luoda sekaannusmatriisin käyttämällä pythonia sklearn-kirjaston kanssa.
yksi. Aluksi luomme luettelon todellisista tiedoista ja ennustetuista tarkkuuden tarkistamiseksi alla esitetyllä tavalla
# Python-komentosarja sekaannusmatriisin luomiseen. todelliset_tiedot = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] ennustetut tiedot = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1]
2. Meidän on tuotava sekaannusmatriisi sklearn-kirjastosta alla esitetyllä tavalla:
from sklearn.metrics tuo confusion_matrix
3. Seuraavaksi luomme sekaannusmatriisin alla olevan kuvan mukaisesti:
lopulliset tulokset = sekaannuksen matriisi (todelliset_tiedot, ennustetut_tiedot)
Neljä. Nyt voimme edetä ja laskea tarkkuuden tuomalla kirjaston alla olevan kuvan mukaisesti:
from sklearn.metrics tuonti tarkkuus_pisteet tarkkuus = tarkkuus_pisteet (todelliset_tiedot, ennustetut_tiedot)
5. Lopuksi lasketaan F1-pisteet tai F-mitat alla esitetyllä tavalla:
from sklearn.metrics tuo luokitusraportti-raportti = luokitusraportti (todelliset_tiedot, ennustetut_tiedot)
Alla on täydellinen koodi:
todelliset_tiedot = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] ennustetut tiedot = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1] alkaen sklearn.metrics tuonti confusion_matrix viimeiset_tulokset = confusion_matrix (todelliset_tiedot, ennustetut_tiedot) print (lopulliset_tulokset) from sklearn.metrics tuontitarkkuus_pisteet tarkkuus = tarkkuus_pisteet (nykyiset_tiedot, ennustetut_tiedot) sklearn.metrics tuonti luokitus_raportti raportti (luokitus_raportti ( todelliset_tiedot, ennustetut_tiedot) tulosta (tarkkuus) tulosta (raportti)
Joten tällä olemme päässeet tämän artikkelin loppuun. Toivon, että kaikki hämmennyksesi sekaannusmatriisista on nyt ratkaistu.
Edurekan auttaa sinua hankkimaan asiantuntemusta erilaisista koneoppimisalgoritmeista, kuten regressiosta, klustereista, päätöksentekopuista, satunnaisista metsistä, Naïve Bayesista ja Q-Learningista. Tämä koneoppiminen Python-koulutuksen avulla paljastaa sinut tilastojen, aikasarjojen ja koneoppimisen algoritmien eri luokkiin, kuten valvottuihin, valvomattomiin ja vahvistettuihin algoritmeihin. Koko tietojenkäsittelykurssin aikana ratkaiset tosielämän tapaustutkimuksia median, terveydenhuollon, sosiaalisen median, ilmailun ja henkilöstöhallinnon aloilla.