Obszar pod przybliżeniem krzywej ROC
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
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.