Właśnie skończyłem czytać tę 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?
źródło
Odpowiedzi:
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.
źródło
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.
źródło
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.
źródło