Obszar pod krzywą ROC lub obszar pod krzywą PR dla niezrównoważonych danych?

16

Mam wątpliwości co do tego, który miernik wydajności zastosować, obszar pod krzywą ROC (TPR jako funkcja FPR) lub obszar pod krzywą precyzja-przywołanie (precyzja jako funkcja przywołania).

Moje dane są niezrównoważone, tzn. Liczba negatywnych wystąpień jest znacznie większa niż pozytywnych.

Korzystam z prognozy wyjściowej weka, próbka to:

inst#,actual,predicted,prediction
1,2:0,2:0,0.873
2,2:0,2:0,0.972
3,2:0,2:0,0.97
4,2:0,2:0,0.97
5,2:0,2:0,0.97
6,2:0,2:0,0.896
7,2:0,2:0,0.973

I używam bibliotek pROC i ROCR r.

MM
źródło
Zapomniałeś wspomnieć o tym, co chcesz osiągnąć za pomocą którejkolwiek z tych krzywych.
Marc Claesen,
1
Uwaga: wydaje się, że chcesz wybierać między krzywymi ROC (TPR jako funkcja FPR w całym zakresie roboczym) a krzywymi PR (precyzja w porównaniu do przywołania w całym zakresie roboczym). Terminologia taka jak „ AUC-ROC precyzji i przypomnienia ” jest bardzo myląca, więc zredagowałem to. Cofnij to, jeśli źle zrozumiałem.
Marc Claesen,

Odpowiedzi:

27

Pytanie jest dość niejasne, więc założę, że chcesz wybrać odpowiednią miarę wydajności, aby porównać różne modele. Aby uzyskać dobry przegląd kluczowych różnic między krzywymi ROC i PR, zapoznaj się z następującym artykułem: Związek między precyzją- przywołaniem a krzywymi ROC autorstwa Davisa i Goadricha .

Cytując Davisa i Goadricha:

Jednak w przypadku bardzo wypaczonych zestawów danych krzywe Precision-Recall (PR) dają bardziej pouczający obraz wydajności algorytmu.

Krzywe ROC wykreślają wykres FPR vs TPR. Mówiąc dokładniej: Krzywe PR wykreślają precyzję w porównaniu do przywołania (FPR), a dokładniej: recall=TP

FPR=FPFP+TN,TPR=TPTP+FN.
recall=TPTP+FN=TPR,precision=TPTP+FP

Na precyzję ma bezpośredni wpływ równowaga klasy (im), ponieważ wpływa na , podczas gdy TPR zależy tylko od wyników dodatnich. Dlatego krzywe ROC nie wychwytują takich efektów.FP

Krzywe dokładności i przywołania lepiej podkreślają różnice między modelami dla wysoce niezrównoważonych zestawów danych. Jeśli chcesz porównać różne modele w niezrównoważonych ustawieniach, obszar pod krzywą PR będzie prawdopodobnie wykazywał większe różnice niż obszar pod krzywą ROC.

To powiedziawszy, krzywe ROC są znacznie częstsze (nawet jeśli są mniej odpowiednie). W zależności od odbiorców krzywe ROC mogą być lingua franca, więc korzystanie z nich jest prawdopodobnie bezpieczniejszym wyborem. Jeśli jeden model całkowicie dominuje nad innym w przestrzeni PR (np. Zawsze ma wyższą precyzję w całym zakresie przywołania), będzie również dominował w przestrzeni ROC. Jeśli krzywe przecinają się w jednej przestrzeni, to również krzyżują się w drugiej. Innymi słowy, główne wnioski będą podobne bez względu na zastosowaną krzywą.


Bezwstydna reklama . Jako dodatkowy przykład możesz rzucić okiem na jeden z moich artykułów w którym raportuję zarówno krzywe ROC, jak i PR w niezrównoważonym otoczeniu. Rycina 3 zawiera krzywe ROC i PR dla identycznych modeli, wyraźnie pokazując różnicę między nimi. Aby porównać obszar pod PR i obszar pod ROC, możesz porównać tabele 1-2 (AUPR) i tabele 3-4 (AUROC), gdzie widać, że AUPR pokazuje znacznie większe różnice między poszczególnymi modelami niż AUROC. To jeszcze raz podkreśla przydatność krzywych PR.

Marc Claesen
źródło
Dziękuję za wyjaśnienie. Pytanie, dlaczego krzywe PR są bardziej pouczające w przypadku niezrównoważonych danych? Dla mnie ROC powinien być bardziej pouczający, ponieważ uwzględnia zarówno TPR, jak i FPR.
MM
1
@MA zredagował moją odpowiedź, aby wyjaśnić.
Marc Claesen
1
Wydaje mi się, że w równaniu istnieje pomyłka przywołania TPR i FPR, prawda?
Simon Thordal,
Masz rację, powinno być: recall = ... = TPR, a nie FPR. @Marc Claesen, myślę, że tylko Ty możesz to zmienić, ponieważ kiedy próbuję to zrobić, jestem informowany, że: „Edycje powinny mieć co najmniej 6 znaków”, więc nie można poprawić małych literówek, takich jak ten.
dodatkowo
6

Krzywe ROC kreślą TPR na osi y i FPR na osi x, ale zależy to od tego, co chcesz przedstawić. O ile nie ma powodu, aby rysować to inaczej w twoim obszarze badań, krzywe TPR / FPR ROC są standardem do wykazania kompromisów operacyjnych i uważam, że byłyby one najlepiej przyjęte.

Sama precyzja i przywołanie może wprowadzać w błąd, ponieważ nie uwzględnia prawdziwych negatywów.

Underminer
źródło
0

Uważam, że największą różnicą w AUC ROC i PR jest fakt, że ROC określa, jak dobrze twój model może „obliczyć” klasę dodatnią ORAZ klasę ujemną, gdy jako AUC PR naprawdę patrzy tylko na twoją klasę dodatnią. Tak więc w sytuacji zrównoważonej klasy i gdy zależy Ci na klasach zarówno ujemnych, jak i dodatnich, wskaźnik AUC ROC działa świetnie. W sytuacji braku równowagi preferowane jest użycie AUC PR, ale należy pamiętać, że to tylko określa, jak dobrze Twój model może „obliczyć” klasę dodatnią!

David
źródło