Miten Laskea Tarkasti, Muistaa, ja F-Toimenpide Epätasapainoinen Luokitus

Tweet Jaa Jaa

Viimeksi Päivitetty 2. elokuuta 2020 mennessä

– Luokituksen tarkkuus on yhteensä useita oikeita vastauksia jaettuna kokonaismäärä ennusteita tehty aineisto.

suoritusmittarina tarkkuus ei sovellu epätasapainoisiin luokitteluongelmiin.,

tärkein syy on Se, että valtava määrä esimerkkejä suurin luokka (tai luokat) hukuttaa useita esimerkkejä vähemmistöjen luokan, mikä tarkoittaa, että jopa kokematon mallit voidaan saavuttaa tarkkuus pisteet 90% tai 99%, riippuen siitä, kuinka vakava luokan epätasapaino sattuu olemaan.

vaihtoehto luokittelutarkkuuden käytölle on tarkkuus-ja takaisinkutsumittareiden käyttö.

tässä oppaassa saat selville, miten laskea ja kehittää intuitiota, tarkkuus ja recall epätasapainoinen luokitus.,

suoritettuaan tämän opetusohjelman, sinun tulee tietää:

  • Tarkkuus määrittää useita myönteisiä luokan ennusteita, jotka oikeastaan kuuluvat positiivinen luokan.
  • Muista, määrällisesti useita myönteisiä luokan ennusteita on tehty kaikki myönteisiä esimerkkejä tietoaineiston.
  • F-Measure tarjoaa yhden pistemäärän, joka tasapainottaa sekä tarkkuuteen että takaisinkutsuun liittyviä huolia yhdellä numerolla.

Kick-aloittaa projektin, jossa minun uusi kirja Epätasapainoinen Luokitus Python, mukaan lukien askel-askeleelta opetusohjelmia ja Python lähdekoodi tiedostot kaikki esimerkkejä.,

aloitetaan.

  • päivitys Tammi / 2020: parannettu kieli tarkkuuden ja takaisinkutsun tavoitteesta. Kiinteät kirjoitusvirheet siitä, mikä tarkkuus ja takaisinkutsu pyrkivät minimoimaan (kiitos kommenteista!).
  • päivitys helmi / 2020: korjattu kirjoitusvirhe muuttujan nimessä takaisinkutsua ja f1: tä varten.

Miten Laskea Tarkasti, Muistaa, ja F-Toimenpide Epätasapainoinen Luokittelu
Kuva Waldemar Sulautumisen, jotkut oikeudet pidätetään.,

Opetusohjelma Yleistä

Tämä opetusohjelma on jaettu viiteen osaan; ne ovat:

  1. Sekavuus Matrix Epätasapainoinen Luokittelu
  2. Tarkkuus Epätasapainoinen Luokittelu
  3. Recall Epätasapainoinen Luokittelu
  4. Tarkkuus vs. Recall Epätasapainoinen Luokittelu
  5. F-Toimenpide Epätasapainoinen Luokittelu

Sekavuus Matrix Epätasapainoinen Luokitus

Ennen kuin voimme sukeltaa tarkkuus ja muistaa, on tärkeää tarkistaa confusion matrix.,

Varten epätasapainoinen luokitus ongelmia, suurin luokka on tyypillisesti kutsutaan negatiivisen tuloksen (esim. ”ei muutosta” tai ”negatiivinen testitulos”), ja vähemmistö luokka on tyypillisesti kutsutaan positiivisia tuloksia (esim. ”muutos” tai ”positiivinen testitulos”).

sekavuus matrix tarjoaa enemmän tietoa paitsi suorituskykyä ennustava malli, mutta myös luokat, jotka on ennusti oikein, mikä väärin, ja siitä, minkä tyyppisiä virheitä tehdään.,

yksinkertaisin sekaannusta matriisi on kahden luokan luokittelu ongelma, negatiivinen (luokka 0) ja positiivisen (luokka 1) luokat.

tämän tyyppinen sekaannusta matriisi, jokainen solu taulukossa on erityinen ja hyvin ymmärrettävä nimi, tiivistää seuraavasti:

tarkkuus ja muistaa mittarit on määritelty solujen confusion matrix, erityisesti termejä, kuten tosi positiivisia ja vääriä negatiivisia.

Nyt meillä on harjattu ylös confusion matrix, otetaanpa tarkemmin tarkkuus metrinen.,

Tarkkuus Epätasapainoinen Luokitus

Tarkkuus on metrijärjestelmän, joka määrittelee useita oikeita positiivisia ennusteita on tehty.

tarkkuus laskee siis vähemmistöluokan tarkkuuden.

Se lasketaan suhde oikein ennusti myönteisiä esimerkkejä jaettuna kokonaismäärä myönteisiä esimerkkejä, jotka olivat ennustaneet.

Precision arvioi osa oikea luokiteltu tapauksia joukossa on luokiteltu positiivinen.

— Sivu 52, Oppiminen Epätasapainoinen aineistoja, 2018.,

Tarkkuus Binary Luokitus

epätasapainoinen luokittelun ongelma, jossa kaksi luokkaa, tarkkuus lasketaan määrä tosi positiivisia jaettuna kokonaismäärä tosi positiivisia ja vääriä positiivisia.

  • Tarkkuus = TruePositives / (TruePositives + FalsePositives)

tuloksena on arvo väliltä 0.0 mitään tarkkuutta ja 1.0 täyttä tai täydellistä tarkkuutta.

tehdään laskelma konkreettiseksi muutamin esimerkein.,

Harkitse aineisto 1:100 vähemmistön ja enemmistön suhde, jossa 100 vähemmistö esimerkkejä ja 10000 enemmistö luokan esimerkkejä.

malli tekee ennusteita ja ennustaa 120 esimerkkejä, koska kuuluvat vähemmistöön luokka, 90, jotka ovat oikeita, ja 30, jotka ovat virheellisiä.

tarkkuus tämä malli lasketaan seuraavasti:

  • Tarkkuus = TruePositives / (TruePositives + FalsePositives)
  • Tarkkuus = 90 / (90 + 30)
  • Tarkkuus = 90 / 120
  • Tarkkuus = 0.75

tuloksena on tarkkuus 0,75, mikä on kohtuullinen arvo, mutta ei erinomainen.,

Voit nähdä, että tarkkuus on yksinkertaisesti suhde oikea positiivinen ennustukset pois kaikki positiiviset ennusteet, tai tarkkuutta vähemmistö luokan ennusteita.

Harkitse sama aineisto, jossa malli ennustaa 50 esimerkit kuuluvat vähemmistöön luokka, 45 jotka ovat tosi positiivisia ja viisi, jotka ovat vääriä positiivisia. Voimme laskea tarkasti tätä mallia varten seuraavasti:

  • Tarkkuus = TruePositives / (TruePositives + FalsePositives)
  • Tarkkuus = 45 / (45 + 5)
  • Tarkkuus = 45 / 50
  • Tarkkuus = 0.,90

tässä tapauksessa, vaikka malli ennusti huomattavasti vähemmän esimerkkejä, koska kuuluvat vähemmistöön luokka, suhde oikea myönteisiä esimerkkejä on paljon parempi.

tämä korostaa, että vaikka tarkkuudesta on hyötyä, se ei kerro koko tarinaa. Se ei kommentoi, kuinka monta todellista positiivista luokkaesimerkkiä ennustettiin kuuluvaksi negatiiviseen luokkaan, niin sanottuihin vääriin negatiiveihin.

Haluan Päästä Alkuun Epätasapaino Luokitus?

ota ilmainen 7 päivän sähköpostiviesti crash course now (mallikoodilla).,

klikkaa ilmoittautuaksesi ja saat myös ilmaisen PDF Ebook-version kurssista.

Lataa ILMAINEN Mini-Kurssi

Tarkkuus Multi-Class Luokittelu

Tarkkuus ei ole rajoitettu binary luokituksen ongelmia.

epätasapainoinen luokittelun ongelma, jossa on enemmän kuin kaksi luokkaa, tarkkuus lasketaan summana tosi positiivisia kaikissa luokissa summa jaettuna tosi positiivisia ja vääriä positiivisia kaikissa luokissa.,

  • Tarkkuus = Summa c C TruePositives_c / Summa c C (TruePositives_c + FalsePositives_c)

esimerkiksi, meillä voi olla epätasapainoinen multiclass luokittelun ongelma, jossa suurin luokka on negatiivinen luokan, mutta on olemassa kaksi positiivista vähemmistö luokat: luokka 1 ja luokka 2. Tarkkuus voi kvantifioida oikean ennusteen suhteen molemmissa positiivisissa luokissa.,

Harkitse aineisto 1:1:100 vähemmistön enemmistö luokan suhde, joka on 1:1-suhteessa kunkin positiivinen luokan ja 1:100 suhde vähemmistön luokat suurimman luokan, ja meillä on 100 esimerkkejä kunkin vähemmistön luokan, ja 10000 esimerkkejä, suurin luokka.

malli tekee ennusteita ja ennustaa 70 esimerkkejä ensimmäistä vähemmistö-luokan, jossa 50 on oikea ja 20 ovat virheelliset. Se ennustaa 150 toiselle luokalle 99 oikein ja 51 väärin., Tarkkuus voidaan laskea tätä mallia varten seuraavasti:

– Voimme nähdä, että tarkkuus metrinen laskeminen asteikot kuten me lisätä vähemmistöryhmien luokat.

Laske Tarkkuus Kanssa Scikit-Learn

tarkkuus pisteet voidaan laskea käyttämällä precision_score() scikit-learn-toiminto.

esimerkiksi tämän funktion avulla voidaan laskea tarkkuus edellisen jakson skenaarioille.

ensin tapaus, jossa on 100-10 000 negatiivista esimerkkiä, ja malli ennustaa 90 todellista positiivista ja 30 väärää positiivista. Täydellinen esimerkki on lueteltu alla.,

Running the example calculates the precision, matching our manual calculation.

1
Precision: 0.,750

Seuraavaksi voimme käyttää samaa funktiota tarkkuus multiclass ongelma 1:1:100, jossa 100 esimerkkejä kunkin vähemmistön luokan ja 10 000 suurimman luokan. Malli ennustaa, 50 tosi positiivisia ja 20 vääriä positiivisia luokan 1 ja 99 tosi positiivisia ja 51 vääriä positiivisia luokan 2.,

Kun käytät precision_score() toiminto multiclass-luokitus, se on tärkeää määrittää vähemmistön luokat kautta ”tarrat” argumentti ja suorittaa asettaa ”keskimääräinen” argumentti ”mikro” varmistaa, että laskenta suoritetaan niin kuin olemme odottaneet.

täydellinen esimerkki on alla.

jälleen esimerkin juokseminen laskee manuaalista laskutoimitusta vastaavan multiclass-esimerkin tarkkuuden.,

1
Tarkkuus: 0.,677

Recall Epätasapainoinen Luokitus

Muista, on muuttuja, joka määrittelee useita oikeita positiivisia ennusteita on tehty kaikki positiivisia ennusteita, jotka olisi voitu tehdä.

toisin Kuin tarkkuutta, että vain kommentteja oikea positiivinen ennustukset pois kaikki positiiviset ennusteet, muista antaa viitteitä jäi positiivinen ennustukset.

näin takaisinkutsu antaa jonkinlaisen käsityksen positiivisen luokan kattavuudesta.,

epätasapainoisessa oppimisessa käytetään tyypillisesti takaisinkutsua vähemmistöryhmien kattavuuden mittaamiseen.

— Sivu 27, Epätasapainoinen Oppiminen: Säätiöt, Algoritmeja ja Sovelluksia, 2013.

Palauta Binary Luokitus

epätasapainoinen luokittelun ongelma, jossa kaksi luokkaa, muistaa lasketaan määrä tosi positiivisia jaettuna kokonaismäärä tosi positiivisia ja vääriä negatiivisia.

  • Muista = TruePositives / (TruePositives + FalseNegatives)

tuloksena on arvo välillä 0.,0 ilman takaisinkutsua ja 1,0 täydellistä tai täydellistä takaisinkutsua.

tehdään laskelma konkreettiseksi muutamin esimerkein.

Kuten edellisessä osassa, harkitse aineisto 1:100 vähemmistön ja enemmistön suhde, jossa 100 vähemmistö esimerkkejä ja 10000 enemmistö luokan esimerkkejä.

malli tekee ennusteita ja ennustaa 90 positiivinen luokan ennusteita oikein ja 10 väärin. Voimme laskea muistaa tätä mallia varten seuraavasti:

  • Muista = TruePositives / (TruePositives + FalseNegatives)
  • Muista = 90 / (90 + 10)
  • Muista = 90 / 100
  • Muista, = 0.,9

tässä mallissa on hyvä takaisinkutsu.

Muista, Multi-Class Luokittelu

Muista, ei ole rajoitettu binary luokituksen ongelmia.

epätasapainoinen luokittelun ongelma, jossa on enemmän kuin kaksi luokkaa, muistaa on laskettu summana tosi positiivisia kaikissa luokissa summa jaettuna tosi positiivisia ja vääriä negatiivisia kaikissa luokissa.,

  • Muista, = Summa c C TruePositives_c / Summa c C (TruePositives_c + FalseNegatives_c)

Kuten edellisessä osassa, harkitse aineisto 1:1:100 vähemmistön enemmistö luokan suhde, joka on 1:1-suhteessa kunkin positiivinen luokan ja 1:100 suhde vähemmistön luokat suurimman luokan, ja meillä on 100 esimerkkejä kunkin vähemmistön luokka, ja 10000 esimerkkejä, suurin luokka.

malli ennustaa 77 esimerkkejä oikein ja 23 virheellisesti luokan 1 ja 95 oikein ja viisi väärin luokan 2., Voimme laskea, muistaa tätä mallia varten seuraavasti:

Laske Muistaa Scikit-Learn

muista, pisteet voidaan laskea käyttämällä recall_score() scikit-learn-toiminto.

esimerkiksi tämän funktion avulla voidaan laskea takaisinkutsu edellä mainituille skenaarioille.

ensin voidaan harkita 1:100-epätasapainoa 100-ja 10 000-esimerkeillä, ja malli ennustaa 90 tosi positiivista ja 10 väärää negatiivia.

täydellinen esimerkki on alla.

esimerkin juostessa voidaan nähdä, että pisteet vastaavat yllä olevaa manuaalista laskentaa.,

1
Recall: 0.,900

Voimme myös käyttää recall_score() for epätasapainoinen multiclass-luokituksen ongelmia.

tässä tapauksessa aineisto on 1:1:100 epätasapaino, jossa 100 kunkin vähemmistön luokan ja 10 000 suurimman luokan. Malli ennustaa 77 tosi positiivista ja 23 väärää negatiivia luokkaan 1 ja 95 tosi positiivista ja viisi väärää negatiivia luokkaan 2.

täydellinen esimerkki on alla.

Jälleen käynnissä esimerkki laskee recall multiclass esimerkki matching manuaalinen laskenta.,

1
Muista: 0.860

Tarkkuus vs., Recall epätasapainoinen luokittelu

saatat päättää käyttää tarkkuutta tai muistaa oman epätasapainoinen luokittelu ongelma.

tarkkuuden maksimointi minimoi väärien positiivien määrän, kun taas takaisinkutsun maksimointi minimoi väärien negatiivien määrän.

  • tarkkuus: täsmällinen, kun väärien positiivisten minimointi on fokus.
  • Recall: sopiva, kun väärien negatiivien minimointi on painopiste.

joskus halutaan erinomaisia ennusteita positiivisesta luokasta. Haluamme korkean tarkkuuden ja korkean takaisinkutsun.,

Tämä voi olla haastavaa, niin usein kasvaa recall tulevat usein kustannuksella vähentää tarkkuutta.

epätasapainoinen aineistot, tavoitteena on parantaa muistaa ilman satuttaa tarkkuus. Nämä tavoitteet ovat kuitenkin usein ristiriitaisia, koska lisäämiseksi TP vähemmistön luokka, määrä FP on usein myös lisääntynyt, mikä vähentää tarkkuutta.

— Sivu 55, Epätasapainoinen Oppiminen: Säätiöt, Algoritmeja ja Sovelluksia, 2013.,

Kuitenkin, sen sijaan, että poiminta yksi toimenpide tai muu, voimme valita uuden tietotyypin, joka yhdistää sekä tarkkuutta ja muista yhdeksi pisteet.

F-Toimenpide Epätasapainoinen Luokitus

– Luokituksen tarkkuus on laajalti käytetty, koska se on yksi toimenpide, jota käytetään yhteenvetona malli suorituskykyä.

F-Toimenpide tarjoaa tavan yhdistää sekä tarkkuutta ja muista yhdeksi toimenpide, joka kaappaa molemmat ominaisuudet.

yksin, kumpikaan tarkkuus tai takaisinkutsu ei kerro koko tarinaa., Meillä voi olla erinomainen tarkkuus kauhea muistaa, tai vuorotellen, kauhea tarkkuus erinomainen muistaa. F-toimenpide tarjoaa keinon ilmaista molemmat huolenaiheet yhdellä pisteellä.

Kun tarkkuus ja muistaa on laskettu binary tai multiclass luokittelun ongelma, kaksi tulokset voidaan yhdistää suoraan laskenta-F-Toimenpide.

perinteinen F toimenpide lasketaan seuraavasti:

  • F-Mitta = (2 * Tarkkuus * Recall) / (Tarkkuus + Recall)

Tämä on harmoninen keskiarvo kahden jakeet., Tämä on joskus kutsutaan F-Pisteet tai F1-Pisteet ja voi olla yleisin käytetty mitta on epätasapainoinen luokituksen ongelmia.

… F1-toimenpide, joka painoja tarkkuus ja muistaa yhtä, on variantti käytetään useimmiten, kun oppiminen epätasapainoinen tiedot.

— Sivu 27, Epätasapainoinen Oppiminen: Säätiöt, Algoritmeja ja Sovelluksia, 2013.

kuten tarkkuus ja takaisinkutsu, huono F-mitta on 0,0 ja paras tai täydellinen F-mitta on 1.,0

esimerkiksi, täydellinen tarkkuus ja muistaa pisteet, olisi seurauksena täydellinen F-Mittaa pisteet:

  • F-Mitta = (2 * Tarkkuus * Recall) / (Tarkkuus + Recall)
  • F-Toimenpide = (2 * 1.0 * 1.0) / (1.0 + 1.0)
  • F-Toimenpide = (2 * 1.0) / 2.0
  • F-Mitta = 1.0

tehdään tämä laskelma betonin kanssa työskennellyt esimerkki.

Harkitse binary luokittelu aineisto 1:100 vähemmistön ja enemmistön suhde, jossa 100 vähemmistö esimerkkejä ja 10000 enemmistö luokan esimerkkejä.,

harkitse mallia, joka ennustaa positiiviselle luokalle 150 esimerkkiä, 95 oikein (todelliset positiiviset) eli viisi jäi näkemättä (väärät negatiivit) ja 55 virheellistä (väärät positiiviset).

Voimme laskea tarkkuutta seuraavasti:

  • Tarkkuus = TruePositives / (TruePositives + FalsePositives)
  • Tarkkuus = 95 / (95 + 55)
  • Tarkkuus = 0.633

Voimme laskea muistaa, seuraavasti:

  • Muista = TruePositives / (TruePositives + FalseNegatives)
  • Muista = 95 / (95 + 5)
  • Muista, = 0.,95

Tämä osoittaa, että mallissa on huono tarkkuus, mutta erinomainen takaisinkutsu.

Lopuksi, voimme laskea F-Mittaa seuraavasti:

– Voimme nähdä, että hyvä muistaa tasot-out huono tarkkuus, jolloin on hyvä tai kohtuullinen F-mittaa pisteet.

Laske F-Toimenpide Scikit-Learn

F-mittaa pisteet voidaan laskea käyttämällä f1_score() scikit-learn-toiminto.

esimerkiksi tämän funktion avulla lasketaan F-mitta edellä mainitulle skenaariolle.,

tässä on kyse 1:100 epätasapainosta 100 ja 10 000 esimerkillä, ja malli ennustaa 95 todellista positiivista, viisi väärää negatiivia ja 55 väärää positiivista.

täydellinen esimerkki on alla.

Running esimerkiksi laskee F-Toimenpide, yhteensovitus manuaalinen laskenta, sisällä joitakin pieniä pyöristysvirheitä.,

1
F-Toimenpide: 0.,760

kirjallisuutta

Tämä osa sisältää enemmän resursseja aiheesta jos etsit mennä syvemmälle.

Oppaat

  • Miten Laskea Tarkasti, Muistaa, F1, ja Enemmän syvällisen Oppimisen Mallit
  • Kuinka Käyttää ROC-Käyrät ja Tarkkuus-Muistaa Käyrät Luokittelu Python

Paperit

  • Systemaattinen Analyysi Suorituskykyä Toimenpiteiden Luokittelu Tehtäviä, 2009.

Kirjoja

  • Epätasapainoinen Oppiminen: Säätiöt, Algoritmeja ja Sovelluksia, 2013.,
  • oppiessaan epätasapainoisista Tietokokonaisuuksista, 2018.

API

  • sklearn.mittarit.precision_score API.
  • sklearn.mittarit.recall_score API.
  • sklearn.mittarit.f1_score API.

Artikkelit

  • Sekavuus matrix, Wikipedia.
  • Precision and recall, Wikipedia.
  • F1-pisteet, Wikipedia.

Tiivistelmä

tässä opetusohjelmassa, sinun tietää, miten laskea ja kehittää intuitiota, tarkkuus ja recall epätasapainoinen luokitus.,

Erityisesti, opit:

  • Tarkkuus määrittää useita myönteisiä luokan ennusteita, jotka oikeastaan kuuluvat positiivinen luokan.
  • Muista, määrällisesti useita myönteisiä luokan ennusteita on tehty kaikki myönteisiä esimerkkejä tietoaineiston.
  • F-Measure tarjoaa yhden pistemäärän, joka tasapainottaa sekä tarkkuuteen että takaisinkutsuun liittyviä huolia yhdellä numerolla.

onko sinulla kysyttävää?
kysy kysymyksesi alla olevissa kommenteissa ja teen parhaani vastatakseni.,

Saada Käsitellä Epätasapainoinen Luokitus!

Kehittää Epätasapainoinen Oppimisen Malleja Minuuttia

…vain pari riviä python-koodia

selvittää, miten minun uusi Ebook:
Epätasapainoinen Luokitus Python

Se tarjoaa self-opinto-oppaat ja end-to-end hankkeita:
Suorituskyvyn Mittarit, Undersampling Menetelmiä, LÖI, Kynnys Liikkuvat, Todennäköisyys, Kalibrointi, Kustannukset-Herkkä Algoritmeja
ja paljon muuta…,

Tuo Epätasapainoinen Luokittelu Menetelmiä Koneen Oppimisen Hankkeita

Nähdä, Mitä on Sisällä

Tweet Jaa Jaa

Share

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *