Wat is de formule om het gebied onder de ROC-curve te berekenen uit een kruistabel?

Als mijn tabel bijvoorbeeld is:

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

Reacties

  • Het ' is mij niet duidelijk dat er een nuttig antwoord op deze vraag kan zijn. De ontvangerkarakteristiek (ROC) -curve vertegenwoordigt het bereik van afwegingen tussen echt-positieve en fout-positieve classificaties, aangezien men de drempel voor het maken van die keuze uit het model verandert. Een kruistabel geeft de classificatieresultaten weer bij een bepaalde keuze van die drempel. Men zou in staat kunnen zijn om zoiets als een oppervlakte te berekenen (zoals een voorgesteld antwoord hier doet), maar het is ' s niet duidelijk of dit werkelijk het gebied onder de ROC-curve voor het volledige model zou vertegenwoordigen .
  • Als uw voorspeller dichotoom is, en er daarom maar één drempel is, denk ik dat de AUC nog steeds (enige) nuttige informatie biedt.
  • @JeremyMiles geef alstublieft een niet-triviaal voorbeeld van de voorspeller waar maar één drempelwaarde bestaat.
  • @PavelTyshevskyi – zeker. (Ik ben vergeten wat de context was voor deze vraag). Ik werk met beoordelaars die advertenties classificeren. Een voorbeeld is pornografie (wat slecht is). We vragen beoordelaars " Is deze advertentie voor pornografie? " Ze zeggen ja of nee.

Answer

In het algemene geval: you can “t

De ROC-curve laat zien hoe gevoeligheid en specificiteit varieert op elke mogelijke drempel . Een kruistabel is berekend op basis van een enkele drempel en informatie over andere drempels is verloren gegaan. Daarom kunt u “de ROC-curve niet berekenen op basis van deze samengevatte gegevens.

Maar mijn classifier is binair, dus ik heb een enkele drempel

Binaire classificaties zijn niet echt binair. Ook al geven ze misschien alleen een definitieve binaire beslissing weer, alle classificaties die ik ken, vertrouwen op een kwantitatieve schatting onder de motorkap.

  • Een binaire beslissingsboom? Probeer een regressieboom te bouwen.
  • Een classificator SVM? Voer een ondersteunende vectorregressie uit.
  • Logistische regressie? toegang tot de ruwe kansen.
  • Neuraal netwerk? Gebruik de numerieke uitvoer van t de laatste laag.

Dit geeft je meer vrijheid om de optimale drempel te kiezen om de best mogelijke classificatie voor je behoeften te krijgen.

Maar ik wil echt

Dat zou je echt niet moeten doen. ROC-curves met weinig drempels onderschatten de werkelijke oppervlakte onder de curve aanzienlijk (1). Een ROC-curve met een enkel punt is een worstcasescenario en elke vergelijking met een continue classificator zal onnauwkeurig en misleidend zijn.

Geef me gewoon het antwoord!

Oké, oké , jij wint. Met een enkel punt kunnen we de AUC beschouwen als de som van twee driehoeken T en U:

Een ROC-curve met een enkel (SP, SE) paar en twee driehoeken

We kunnen hun gebieden krijgen op basis van de kruistabel (A, B, C en D zoals je hebt gedefinieerd):

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

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

Concluderend

U kunt technisch een ROC AUC berekenen voor een binaire classificator uit de verwarringmatrix. Maar voor het geval ik niet duidelijk was, wil ik nog een laatste keer herhalen: NIET DOEN!

Referenties

(1) DeLong ER, DeLong DM, Clarke-Pearson DL: vergelijking van de gebieden onder twee of meer gecorreleerde bedrijfskarakteristieken van de ontvanger: een niet-parametrische benadering. Biometrics 1988,44: 837-845. https://www.jstor.org/stable/2531595

Reacties

  • Dit voorbeeld met een enkel punt kan erg misleidend zijn. Als u bijvoorbeeld een punt op (1, 0) hebt, levert dit AUC = 1 op volgens uw berekeningen. Gebied onder punt is altijd nul. Als je de kruistabel echt moet samenvatten, gebruik dan f1-score of geïnformeerdheid.
  • @PavelTyshevskyi De ROC-curve is altijd een curve, nooit een enkel punt. Onthoud dat het 1-specificiteit laat zien, wat waarschijnlijk is wat u in de war brengt.
  • @PavelTyshevskyi Ik bedoel (1, 0) is eigenlijk 0 specificiteit 0 gevoeligheid, dus de AUC zal 0 zijn zoals verwacht.
  • Je ' hebt gelijk, ik ' ben in de war geraakt met de as. Het klinkt nog steeds niet goed ' t klinken op de een of andere manier met (0, 0) en (1, 1) om een gebied te construeren samen met se, sp uit de contingentiematrix. Bedankt voor de verduidelijking.
  • @PavelTyshevskyi, kun je misschien wat specifieker zijn? Het antwoord is correct, en ik denk dat ik er duidelijk op wijs waarom je het in de eerste plaats niet ' zou moeten doen. Maar ik verzeker je dat het absoluut correct is.

Antwoord

Als ik beweer dat ze allemaal negatief zijn, dan gevoeligheid (y) = 0, 1 – specificiteit (x) = 0. Als ik het positieve / negatieve claim volgens de testresultaten, dan is y = A / (A + C), x = B / (B + D). Als ik zeg dat ze allemaal positief zijn, dan is y = 1 en x = 1.

Gebaseerd op drie punten met coördinaat (0,0) (A / (A + C), B / (B + D)) (1,1), (in (y, x) volgorde), het is gemakkelijk om de oppervlakte onder de curve te berekenen met behulp van de formule voor de oppervlakte van de driehoek.

Eindresultaat: Area = $ \ frac {AB + 2AD + 2CD} {(A + C) (B + D)} $ ? Moet worden geverifieerd.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *