Jak wybrać pomiędzy ROC AUC a wynikiem F1?

26

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!

George Liu
źródło

Odpowiedzi:

14

Żadna z wymienionych tutaj miar nie jest prawidłową regułą punktacji dokładności, tj. Regułami zoptymalizowanymi przez właściwy model. Rozważ wynik Briera i miary oparte na logarytmie prawdopodobieństwa, takie jak pseudo . -index (AUROC, prawdopodobieństwo zgodność) nie jest właściwa, lecz dobrym dla opisania jednego modelu. Nie jest wystarczająco czuły, aby używać go do wybierania modeli lub porównywania nawet zaledwie dwóch modeli.R2)do

Frank Harrell
źródło
Dziękuję za odpowiedź Frank! Proszę o dodatkowe wyjaśnienia. Jeśli możemy wybrać tylko wynik ROC AUC i F1, który z nich wybierzesz i dlaczego? Jakie są zalety i wady obu z nich?
George Liu
2
Jeśli możesz wybierać tylko spośród -index i F1, nie kłócisz się wystarczająco mocno. Złotym standardem jest prawdopodobieństwo logarytmiczne, karane prawdopodobieństwo logarytmiczne lub równoważnik Bayesa (np. DIC). Obok jest wynik Briera. do
Frank Harrell
2
Zobacz citeulike.org/user/harrelfe/article/14321176 ; Pokazałem to z własnymi symulacjami. Jeśli nierównowaga nie jest spowodowana nadmiernym próbkowaniem / niepełnym próbkowaniem, możesz zastosować dowolną prawidłową zasadę punktacji, niezależnie od nierównowagi.
Frank Harrell
1
@FrankHarrell: link nie działa, czy możesz go ponownie sprawdzić?
SiXUlm
13

Wzór obliczeniowy:

  • Precision TP / (TP + FP)
  • Recall: TP / (TP + FN)
  • Wynik F1 : 2 / (1 / P + 1 / R)
  • ROC / AUC : TPR = TP / (TP + FN), FPR = FP / (FP + TN)

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ę.

WeiYuan
źródło
7

Powyższe odpowiedzi są dobre.

S.kmiw=nmisolzatjavmimixzamplmisposjatjavmimixzamplmis

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,

TP=155,   FN=182
FP=84049, TN=34088

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.

faβ=(1+β2))prmidojasjaonrmidozall(β2)prmidojasjaon)+rmidozall

β

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.

Xiaorui Zhu
źródło
Jeśli zależy Ci na wydajności metody, lepiej użyj ROC, aby pokazać jej skuteczność klasyfikacji, ale jeśli zależy ci bardziej na faktycznym przewidywaniu prawdziwie pozytywnego wyniku, wynik F1 jest mile widziany w branży.
Xiaorui Zhu
2
W realnych warunkach biznesowych można oszacować koszty wyników fałszywie dodatnich i koszty wyników fałszywie ujemnych. Następnie ostateczna klasyfikacja powinna opierać się na modelu probabilistycznym i progu klasyfikacji wybranym w celu zminimalizowania kosztów fałszywych klasyfikacji. Nie sądzę, aby dokładność lub ocena F miały wiele rzeczywistych zastosowań dla zdyscyplinowanego naukowca danych.
Matthew Drury
Tak, zgadzam się z procedurą metody decyzyjnej, która minimalizuje koszt fałszywej klasyfikacji prawdopodobieństwa i modelu odcięcia. W niektórych przypadkach asymetryczny koszt można zastosować do FP i FN. Ale celem dokładności i oceny F jest sprawdzenie ogólnej wydajności modelu lub porównanie wydajności między kilkoma modelami. Rzeczywiście, mając dane w ręku jako naukowiec danych, minimalizacja kosztów może być zawsze możliwa. Ale ciekawi mnie, czy specjalista ds. Danych w praktyce potrzebuje dystrybucji (lub odmiany) rozwiązania problemu decyzyjnego. Chciałbym wiedzieć, czy możesz podzielić się ze mną trochę.Thx
Xiaorui Zhu
1
Osobiście zawsze oceniałbym poprawność dopasowania modelu na podstawie przewidywanych prawdopodobieństw warunkowych. Dlatego zawsze porównywałbym modele przy użyciu właściwej reguły punktacji, takiej jak utrata logów, używam ładowania początkowego, aby upewnić się, że poprawa nie jest hałasem, i może uzupełnić AUC.
Matthew Drury
2
Nie sądzę, że to prawda. AUC jest specjalnie zbudowany, aby być niewrażliwym na nierównowagę klas, przeprowadziłem obszerne symulacje tego i stwierdziłem, że to prawda. Ponadto, porównując modele, powinny być one budowane na zestawach danych próbkowanych z tej samej populacji, co sprawia, że ​​problem z brakiem równowagi klasowej jest zerowy.
Matthew Drury,
4

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.

balboa
źródło
Twoja definicja „nierównowagi danych” jest taka, że ​​prawie zawsze używasz wyniku F1, więc nie jest to zbyt pomocne. Może mógłbyś trochę to rozwinąć?
jbowman
Brakowało mi tam bardzo ważnego słowa ... przeprosin. Edytowałem moją odpowiedź. Daj mi znać, jeśli potrzebujesz więcej wyjaśnień.
balboa
1

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 .

Ling Ma
źródło
1

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.

Bharat Ram Ammu
źródło