ROC vs Krzywe precyzji przywoływania w niezrównoważonym zbiorze danych

18

Właśnie skończyłem czytać dyskusję. Twierdzą, że PR AUC jest lepszy niż ROC AUC w niezrównoważonym zbiorze danych.

Na przykład mamy 10 próbek w zestawie danych testowych. 9 próbek jest pozytywnych, a 1 ujemna. Mamy okropny model, który przewiduje wszystko pozytywnie. Będziemy zatem mieć miarę, że TP = 9, FP = 1, TN = 0, FN = 0.

Następnie Precyzja = 0,9, Przywołanie = 1,0. Precyzja i pamięć zwrotna są bardzo wysokie, ale mamy słaby klasyfikator.

Z drugiej strony, TPR = TP / (TP + FN) = 1,0, FPR = FP / (FP + TN) = 1,0. Ponieważ współczynnik FPR jest bardzo wysoki, możemy stwierdzić, że nie jest to dobry klasyfikator.

Najwyraźniej ROC jest lepszy niż PR w przypadku niezrównoważonych zestawów danych. Czy ktoś może wyjaśnić, dlaczego PR jest lepszy?

machineLearner
źródło
1
Precyzja i przywołanie ignorują fałszywe negatywy. Zazwyczaj uzasadnia się użycie kompromisu PR (krzywe lub wynik F), ponieważ liczba Negatywów i Fałszywych Negatywów jest ogromna w stosunku do TP i FP. Zatem TNR-> 1 i FPR-> 0 (suma do 1 z tym samym mianownikiem | Negs |). Zatem PR w tym przypadku odzwierciedla (wzmacnia lub powiększa) kompromis TP względem FP, ale nie jest to znaczące, a istotny jest wzrost indeksu Youden J (Informowanie = TPR-FPR = TPR + TNR-1 = Czułość + Swoistość-1), która odpowiada dwukrotności pola między trójkątną krzywą pojedynczego punktu operacyjnego a linią szans ROC.
David MW Powers
2
@DavidMWPowers, dlaczego nie zmienić tego w oficjalną odpowiedź? Wydaje mi się to bardzo pouczającą odpowiedzią.
gung - Przywróć Monikę
2
Precyzja, przywołanie, czułość i specyficzność są niewłaściwymi, nieciągłymi, arbitralnymi wynikami dokładności utraty informacji i nie powinny być stosowane. Mogą być szczególnie problematyczne przy braku równowagi. -index (prawdopodobieństwo zgodność; AUROC) działa prawidłowo w ekstremalnych równowagi. Lepiej: użyj właściwej reguły punktacji dokładności związanej z prawdopodobieństwem logarytmicznym lub wynikiem Briera. do
Frank Harrell,

Odpowiedzi:

8

Po pierwsze, twierdzenie o słupie Kaggle jest fałszywe. W artykule, do którego się odnoszą, „ Związek między precyzją- przywołaniem a krzywymi ROC ”, nigdy nie twierdzi się, że AUC PR jest lepsze niż AUC ROC. Po prostu porównują swoje właściwości, nie oceniając ich wartości.

Krzywe ROC mogą czasem wprowadzać w błąd w niektórych bardzo niezrównoważonych aplikacjach. Krzywa ROC może nadal wyglądać całkiem dobrze (tj. Lepiej niż losowo), jednocześnie błędnie klasyfikując większość lub całość klasy mniejszości.

Natomiast krzywe PR są specjalnie dostosowane do wykrywania rzadkich zdarzeń i są bardzo przydatne w tych scenariuszach. Pokażą, że twój klasyfikator ma niską wydajność, jeśli błędnie klasyfikuje większość lub całość klasy mniejszościowej. Ale nie przekładają się one dobrze na bardziej zrównoważone przypadki lub przypadki, w których negatywne są rzadkie.

Ponadto, ponieważ są wrażliwe na wyjściowe prawdopodobieństwo pozytywnych zdarzeń, nie uogólniają się dobrze i odnoszą się tylko do określonego zestawu danych, na którym zostały zbudowane, lub do zestawów danych z dokładnie taką samą równowagą. Oznacza to, że generalnie trudno jest porównywać krzywe PR z różnych badań, ograniczając ich przydatność.

Jak zawsze ważne jest, aby zrozumieć narzędzia, które są dostępne i wybrać odpowiednie dla właściwej aplikacji. Proponuję przeczytać pytanie ROC vs. krzywe precyzji i przywołania tutaj w CV.

Calimo
źródło
3

Twój przykład jest zdecydowanie poprawny.

Myślę jednak, że w kontekście aplikacji konkurencji / prawdziwego życia Kaggle zniekształcony zestaw danych zwykle oznacza zbiór danych o znacznie mniej pozytywnych próbkach niż próbkach ujemnych. Tylko w tym przypadku PR AUC jest bardziej „znaczący” niż AOC ROC.

Rozważ detektor z TP = 9, FN = 1, TN = 900, FP = 90, gdzie jest 10 próbek dodatnich i 990 ujemnych. TPR = 0,9, FPR = 0,1, co wskazuje na dobry wynik ROC, jednak Precyzja = 0,1, co wskazuje na zły wynik PR.

użytkownik2512796
źródło
0

Jesteś w połowie drogi.

Zwykle, kiedy robię modele niezrównoważone, do cholery, a nawet modele zrównoważone, patrzę na PR dla WSZYSTKICH moich klas.

W twoim przykładzie tak, twoja pozytywna klasa ma P = 0,9 i R = 1,0. Ale powinieneś spojrzeć na WSZYSTKIE swoje zajęcia. Tak więc dla swojej klasy negatywnej twoje P = 0 i twoje R = 0. I zwykle nie patrzysz tylko na wyniki PR indywidualnie. Chcesz spojrzeć na wynik F1 (makro F1 lub F1 micro, w zależności od problemu), który jest średnią harmoniczną twoich wyników PR zarówno dla klasy 1, jak i dla klasy 0. Twój wynik w klasie 1 jest bardzo dobry, ale połącz to z twój wynik PR klasy 0, twój wynik F1 będzie OGROMNY, co jest poprawnym wnioskiem dla twojego scenariusza.

TL, DR: spójrz na wyniki PR dla WSZYSTKICH swoich klas i połącz je z miernikiem, takim jak wynik F1, aby uzyskać realistyczne wnioski na temat wydajności twojego modelu. Wynik F1 w twoim scenariuszu będzie OGROMNY, co jest poprawnym wnioskiem dla twojego scenariusza.

Ciężki oddech
źródło