Hvad er formlen til at beregne arealet under ROC-kurven ud fra en beredskabstabel?

Hvis min tabel f.eks. er:

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

Kommentarer

  • Det ' er ikke klart for mig, at der kan være et nyttigt svar på dette spørgsmål. ROC-kurven for modtagerens betjeningsegenskaber repræsenterer rækkevidden af kompromiser mellem ægte-positive og falske-positive klassifikationer, når man ændrer tærsklen for at foretage dette valg fra modellen. En beredskabstabel repræsenterer klassificeringsresultaterne ved et bestemt valg af denne tærskel. Man kan muligvis beregne noget som et område (som et foreslået svar her gør), men det ' er ikke klart, der virkelig repræsenterer området under ROC-kurven for den fulde model .
  • Hvis din forudsigelse er dikotom, og der derfor kun er en tærskel, tror jeg, at AUC stadig giver (nogle) nyttige oplysninger.
  • @ JeremyMiles bedes du give et ikke-trivielt eksempel på forudsigeren, hvor der kun findes en tærskel.
  • @PavelTyshevskyi – sikker. (Jeg glemmer, hvad sammenhængen var med dette spørgsmål). Jeg arbejder med ratere, der klassificerer annoncer. Et eksempel er pornografi (hvilket er dårligt). Vi spørger ratere " Er denne annonce til pornografi? " De siger ja eller nej.

Svar

I det generelle tilfælde: du kan “t

ROC-kurven viser, hvordan følsomhed og specificitet varierer ved alle mulige tærskler . En beredskabstabel er beregnet ved en enkelt tærskel, og information om andre tærskler er gået tabt. Derfor kan du ikke beregne ROC-kurven ud fra disse sammenfattede data.

Men min klassifikator er binær, så jeg har en enkelt tærskel

Binære klassifikatorer er ikke rigtig binære. Selvom de kun udsætter en endelig binær beslutning, er alle klassifikatorer, jeg kender, afhængige af et kvantitativt skøn under emhætten.

  • Et binært beslutningstræ? Prøv at opbygge et regressionstræ.
  • En klassifikator SVM? Gør en understøttende vektorregression.
  • Logistisk regression? Få adgang til de rå sandsynligheder.
  • Neuralt netværk? Brug det numeriske output på t han sidste lag i stedet.

Dette giver dig mere frihed til at vælge den optimale tærskel for at nå den bedst mulige klassifikation til dine behov.

Men jeg vil virkelig

Du burde virkelig ikke. ROC-kurver med få tærskler undervurderer det sande område under kurven signifikant (1). En ROC-kurve med et enkelt punkt er et værst tænkeligt scenario, og enhver sammenligning med en kontinuerlig klassificering vil være unøjagtig og vildledende.

Giv mig bare svaret!

Ok, ok , du vinder. Med et enkelt punkt kan vi betragte AUC som summen af to trekanter T og U:

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

Vi kan få deres områder baseret på beredskabstabellen (A, B, C og D som du definerede):

$$ \ 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 *} $$

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

For at konkludere

Du kan teknisk beregne en ROC AUC for en binær klassifikator fra forvirringsmatrixen. Men bare hvis jeg ikke var klar, lad mig gentage en sidste gang: Gør det ikke!

Referencer

(1) DeLong ER, DeLong DM, Clarke-Pearson DL: Sammenligning af områderne under to eller flere korrelerede modtagerbetjeningskarakteristiske kurver: En ikke-parametrisk tilgang. Biometrics 1988,44: 837-845. https://www.jstor.org/stable/2531595

Kommentarer

  • Dette eksempel med et enkelt punkt kan være vildledende. For eksempel har punkt på (1, 0) AUC = 1 ifølge dine beregninger. Areal under punkt er altid nul. Hvis du virkelig har brug for at opsummere beredskabstabellen, skal du bruge f1-score eller informerethed.
  • @PavelTyshevskyi ROC-kurven er altid en kurve, aldrig et eneste punkt. Husk, det viser 1-specificitet, hvilket sandsynligvis er det, der forvirrer dig.
  • @PavelTyshevskyi Jeg mener (1, 0) er faktisk 0 specificitet 0 følsomhed, så AUC vil være 0 som forventet.
  • Du ' har ret, jeg ' er blevet forvekslet med aksen. Det lyder stadig ikke ' med (0, 0) og (1, 1), der bruges til at konstruere et område sammen med se, sp fra beredskabsmatrix på en eller anden måde. Tak for afklaringen.
  • @PavelTyshevskyi kan du måske være lidt mere specifik? Svaret er korrekt, og jeg synes, jeg tydeligt påpeger, hvorfor du ikke ' ikke skal gøre det i første omgang. Men jeg forsikrer dig om, at det er helt korrekt.

Svar

Når jeg hævder, at de alle er negative, så følsomhed (y) = 0, 1 – specificitet (x) = 0. Hvis jeg hævder det positive / negative i henhold til testresultaterne, så er y = A / (A + C), x = B / (B + D). Når jeg siger, at de alle er positive, er y = 1 og x = 1.

Baseret på tre punkter med koordinat (0,0) (A / (A + C), B / (B + D)) (1,1), (i (y, x) rækkefølge), er det let at beregne arealet under kurven ved hjælp af formlen for areal med trekant.

Endeligt resultat: Area = $ \ frac {AB + 2AD + 2CD} {(A + C) (B + D)} $ ? Skal bekræftes.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *