Obszar pod przybliżeniem krzywej ROC

Sep 09 2020

Chciałem obliczyć obszar pod krzywą ROC dla modelu regresji logistycznej w kontekście klasyfikacji binarnej. W tym celu obliczyłem dla listy progów, powiedzmy 0,1 0,2 ... 0,9, TPR i FPR. Tak mam

 (TPR_threshold1, ... TPR_thresholdN)
 (FPR_threshold1, ... FPR_thresholdN)

Mogę po prostu zrobić

TPR_threshold1*FPR_threshold1 + ... + TPR_thresholdN*FPR_thresholdN 

aby obliczyć pole powierzchni pod krzywą rok, czy też potrzebuję bardziej rozbudowanego modelowania matematycznego?

Wielkie dzięki!

Odpowiedzi

1 SeanOwen Sep 08 2020 at 23:58

Progi nie mają znaczenia; ważne są wartości (FPR, TRP) na tych progach, ponieważ są to punkty na krzywej. Sortuj je rosnąco według FPR. Aby to zadziałało, należy uwzględnić na liście punkty (0,0) i (1,1), odpowiadające progom 1 i 0.

Możesz użyć przybliżenia trapezoidalnego, ponieważ każda kolejna para punktów definiuje trapezoid obszaru pod krzywą. Po prostu zsumujesz obszary.

Weźmy dwa kolejne punkty (FPR1, TPR1) i (FPR2, TPR2). Pole to (FPR2 - FPR1) * (TPR1 + TPR2) / 2. Po prostu zsumuj to ze wszystkich kolejnych par punktów.

Oczywiście większość bibliotek może to obliczyć na podstawie tych danych wejściowych, na przykład scikit-learn.