Niedawno ukończyłem zawody Kaggle, w których stosowano wynik roc auc zgodnie z wymogami zawodów. Przed tym projektem zwykle stosowałem wynik F1 jako miarę do pomiaru wydajności modelu. Idąc dalej, zastanawiam się, jak powinienem wybrać pomiędzy tymi dwoma danymi? Kiedy stosować i jakie są ich zalety i wady?
Przy okazji, przeczytałem artykuł tutaj Jakie są różnice między AUC a wynikiem F1? , ale nie mówi mi, kiedy użyć.
Z góry dziękuję za wszelką pomoc!
źródło
Wzór obliczeniowy:
ROC / AUC ma te same kryteria, a krzywa PR (Precyzja-przywołanie) (wynik F1, Precyzja, przywołanie) jest również tym samym kryterium.
Rzeczywiste dane będą miały nierównowagę między próbkami dodatnimi i ujemnymi. Ta nierównowaga ma duży wpływ na PR, ale nie na ROC / AUC.
Tak więc w prawdziwym świecie krzywa PR jest używana częściej, ponieważ próbki dodatnie i ujemne są bardzo nierównomierne. Krzywa ROC / AUC nie odzwierciedla wydajności klasyfikatora, ale krzywa PR może.
Jeśli po prostu wykonasz eksperyment w pracach naukowych, możesz użyć ROC, wyniki eksperymentalne będą piękniejsze. Z drugiej strony, zastosowanie krzywej PR w prawdziwym problemie i ma lepszą interpretację.
źródło
Powyższe odpowiedzi są dobre.
Przy niezrównoważonych danych, AUC nadal daje ci sprecyzowaną wartość około 0,8. Jest jednak wysoki ze względu na duży FP, a nie duży TP (prawdziwie pozytywny).
Tak jak w przykładzie poniżej,
Kiedy więc używasz AUC do pomiaru wydajności klasyfikatora, problem polega na tym, że wzrost AUC tak naprawdę nie odzwierciedla lepszego klasyfikatora. To tylko efekt uboczny zbyt wielu negatywnych przykładów. Możesz po prostu spróbować w swoim zestawie danych.
Następnie moje sugestie dotyczące niezrównoważonych danych są podobne do tego postu . Możesz także wypróbować tabelę decylową, którą można zbudować, wyszukując „Tabele klasyfikacji i decylacji dwa na dwa”. Tymczasem studiuję również nad tym problemem i dam więcej środków.
źródło
Aby ująć bardzo proste słowa, gdy masz nierównowagę danych, tj. Różnica między liczbą przykładów, które masz dla klas dodatnich i ujemnych, jest duża, zawsze powinieneś używać wyniku F1. W przeciwnym razie możesz użyć krzywych ROC / AUC.
źródło
W przypadku niektórych problemów z klasyfikacją wielu klas analiza i wizualizacja ROC / AUC nie jest prosta. Możesz przyjrzeć się temu pytaniu: Jak wykreślić krzywe ROC w klasyfikacji wieloklasowej? . W takiej sytuacji lepszym miernikiem może być użycie wyniku F1.
Wynik F1 jest powszechnym wyborem w przypadku problemów z wyszukiwaniem informacji i jest popularny w branży. Oto dobrze wyjaśniony przykład: Budowanie modeli ML jest trudne. Wdrożenie ich w prawdziwych środowiskach biznesowych jest trudniejsze .
źródło
Jeśli celem klasyfikacji jest ocena według prawdopodobieństwa, lepiej zastosować AUC, które uśrednia wszystkie możliwe wartości progowe. Jeśli jednak cel klasyfikacji wymaga jedynie klasyfikacji między dwiema możliwymi klasami i nie wymaga prawdopodobieństwa, że każda klasa jest przewidywana przez model, bardziej odpowiednie jest poleganie na F-score przy użyciu określonego progu.
źródło