Hva er formelen for å beregne arealet under ROC-kurven fra en beredskapstabell?

Hvis for eksempel tabellen min er:

 True Value (gold standard) Positive | Negative | | | | | Test | Pos | A | B | Result | | | | | Neg | C | D | | | | | 

Kommentarer

  • Det ' er ikke klart for meg at det kan være et nyttig svar på dette spørsmålet. Mottakerens operative karakteristikk (ROC) -kurve representerer spekteret av avveininger mellom ekte-positive og falske-positive klassifiseringer når man endrer terskelen for å ta det valget fra modellen. En beredskapstabell representerer klassifiseringsresultatene ved et bestemt valg av den terskelen. Man kan være i stand til å beregne noe som et område (som et foreslått svar her gjør), men det ' er ikke klart som virkelig representerer området under ROC-kurven for hele modellen .
  • Hvis prediktoren din er dikotom, og det derfor bare er en terskel, tror jeg AUC fortsatt gir (litt) nyttig informasjon.
  • @JeremyMiles vennligst oppgi ikke-trivielt eksempel på prediktoren der bare en terskel eksisterer.
  • @PavelTyshevskyi – sikkert. (Jeg glemmer hva konteksten var for dette spørsmålet). Jeg jobber med rangere som klassifiserer annonser. Et eksempel er pornografi (som er dårlig). Vi spør ratere " Er denne annonsen for pornografi? " De sier ja eller nei.

Svar

Generelt sett: du kan «t

ROC-kurven viser hvordan følsomhet og spesifisitet varierer ved alle mulige terskler . En beredskapstabell er beregnet til en enkelt terskel, og informasjon om andre terskler er tapt. Derfor kan du ikke beregne ROC-kurven ut fra disse oppsummerte dataene.

Men min klassifisereren er binær, så jeg har en enkelt terskel

Binære klassifiserere er ikke veldig binære. Selv om de bare kan avsløre en endelig binær beslutning, stoler alle klassifikatorene jeg vet på noe kvantitativt estimat under panseret.

  • Et binært beslutningstre? Prøv å bygge et regresjonstre.
  • En klassifikator SVM? Gjør en støttevektorregresjon.
  • Logistisk regresjon? Få tilgang til de rå sannsynlighetene.
  • Nevralt nettverk? Bruk den numeriske utgangen til t han sist lag i stedet.

Dette vil gi deg mer frihet til å velge den optimale terskelen for å komme til best mulig klassifisering for dine behov.

Men jeg vil virkelig

Du burde virkelig ikke. ROC-kurver med få terskler undervurderer det sanne området under kurven betydelig (1). En ROC-kurve med et enkelt punkt er et worst case-scenario, og enhver sammenligning med en kontinuerlig klassifikator vil være unøyaktig og misvisende.

Bare gi meg svaret!

Ok, ok , du vinner. Med et enkelt punkt kan vi betrakte AUC som summen av to trekanter T og U:

En ROC-kurve med et enkelt (SP, SE) par og to trekanter

Vi kan få områdene deres basert på beredskapstabellen (A, B, C og D som du definerte):

$$ \ begin {align *} T = \ frac {1 \ times SE} {2} & = \ frac {SE} {2} = \ frac {A} {2 (A + C)} \\ U = \ frac {SP \ times 1} {2} & = \ frac {SP} {2} = \ frac {D} {2 (B + D)} \ end {align *} $$

Få AUC: $$ \ begin {align *} AUC & = T + U \\ & = \ frac {A} {2 (A + C)} + \ frac {D} {2 (B + D)} \\ & = \ frac {SE + SP} {2} \ end { align *} $$

For å konkludere

Du kan teknisk beregne en ROC AUC for en binær klassifisering fra forvirringsmatrisen. Men i tilfelle jeg ikke var klar, la meg gjenta en siste gang: IKKE GJØR DET!

Referanser

(1) DeLong ER, DeLong DM, Clarke-Pearson DL: Sammenligning av områdene under to eller flere korrelerte mottakere som opererer karakteristiske kurver: En ikke-parametrisk tilnærming. Biometri 1988,44: 837-845. https://www.jstor.org/stable/2531595

Kommentarer

  • Dette eksemplet med et enkelt punkt kan være veldig misvisende. For eksempel vil det å ha punkt på (1, 0) gi AUC = 1 i henhold til beregningene dine. Areal under punkt er alltid null. Hvis du virkelig trenger å oppsummere beredskapstabellen, bruk f1-poengsum eller informasjonsevne.
  • @PavelTyshevskyi ROC-kurven er alltid en kurve, aldri et eneste punkt. Husk at det viser 1-spesifisitet, som sannsynligvis er det som forvirrer deg.
  • @PavelTyshevskyi Jeg mener (1, 0) er faktisk 0 spesifisitet 0 følsomhet, så AUC vil være 0 som forventet.
  • Du ' har rett, jeg ' har blitt forvekslet med aksen. Det høres fortsatt ikke ' t med (0, 0) og (1, 1) som brukes til å konstruere et område sammen med se, sp fra beredskapsmatrise, på en eller annen måte. Takk for oppklaringen.
  • @PavelTyshevskyi kan du være litt mer spesifikk kanskje? Svaret er riktig, og jeg tror jeg tydelig påpeker hvorfor du ikke ' ikke skal gjøre det i utgangspunktet. Men jeg forsikrer deg om at det er helt riktig.

Svar

Når jeg hevder at alle er negative, deretter følsomhet (y) = 0, 1 – spesifisitet (x) = 0. Hvis jeg hevder det positive / negative i henhold til testresultatene, så er y = A / (A + C), x = B / (B + D). Når jeg sier at alle er positive, så er y = 1 og x = 1.

Basert på tre punkter med koordinat (0,0) (A / (A + C), B / (B + D)) (1,1), (i (y, x) rekkefølge), er det enkelt å beregne arealet under kurven ved å bruke formelen for areal av trekant.

Sluttresultat: Area = $ \ frac {AB + 2AD + 2CD} {(A + C) (B + D)} $ ? Må bekreftes.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *