Wie wählt man zwischen ROC AUC und F1 Score?


26

Ich habe kürzlich einen Kaggle-Wettbewerb abgeschlossen, bei dem der ROC AUC-Score gemäß den Wettbewerbsanforderungen verwendet wurde. Vor diesem Projekt habe ich normalerweise den Wert f1 als Metrik zur Messung der Modellleistung verwendet. In Zukunft frage ich mich, wie ich zwischen diesen beiden Metriken wählen soll. Wann welche verwenden und welche Vor- und Nachteile haben sie?

Übrigens, ich habe den Artikel hier gelesen. Was sind die Unterschiede zwischen AUC und F1-Score? , aber es sagt mir nicht, wann ich welche verwenden soll.

Vielen Dank im Voraus für jede Hilfe!

Antworten:


14

Keine der hier aufgelisteten Maßnahmen sind Regeln für die korrekte Genauigkeitsbewertung, dh Regeln, die durch ein korrektes Modell optimiert wurden. Berücksichtigen Sie den Brier-Score und log-Likelihood-basierte Kennzahlen wie Pseudo . Der Index (AUROC; Konkordanzwahrscheinlichkeit) ist nicht richtig, aber gut für die Beschreibung eines einzelnen Modells. Es ist nicht empfindlich genug, um Modelle auszuwählen oder auch nur zwei Modelle zu vergleichen. cR2c


Danke für deine Antwort Frank! Ich benötige weitere Erläuterungen. Wenn wir nur zwischen ROC AUC und F1 Score wählen können, welchen würden Sie wählen und warum? Was sind die Vor- und Nachteile von beiden?
George Liu

2
Wenn Sie nur zwischen index und F1 wählen dürfen, argumentieren Sie nicht stark genug. Der Goldstandard ist die Log-Wahrscheinlichkeit, die bestrafte Log-Wahrscheinlichkeit oder das Bayes'sche Äquivalent (z. B. DIC). Daneben steht der Brier-Score. c
Frank Harrell

2
Siehe citeulike.org/user/harrelfe/article/14321176 ; Ich habe dies mit meinen eigenen Simulationen gezeigt. Wenn das Ungleichgewicht nicht auf Über- / Unterabtastung zurückzuführen ist, können Sie unabhängig vom Ungleichgewicht eine beliebige Bewertungsregel anwenden.
Frank Harrell

1
@FrankHarrell: Der Link ist tot. Können Sie ihn erneut überprüfen?
SiXUlm

13

Berechnungsformel:

  • Präzision TP / (TP + FP)
  • Rückruf: TP / (TP + FN)
  • F1-Punktzahl: 2 / (1 / P + 1 / R)
  • ROC / AUC: TPR = TP / (TP + FN), FPR = FP / (FP + TN)

ROC / AUC sind die gleichen Kriterien und die PR-Kurve (Precision-Recall) (F1-Score, Precision, Recall) ist auch das gleiche Kriterium.

Bei realen Daten besteht in der Regel ein Ungleichgewicht zwischen positiven und negativen Stichproben. Dieses Ungleichgewicht hat große Auswirkungen auf PR, jedoch nicht auf ROC / AUC.

In der realen Welt wird die PR-Kurve daher häufiger verwendet, da positive und negative Abtastwerte sehr ungleichmäßig sind. Die ROC / AUC-Kurve spiegelt nicht die Leistung des Klassifikators wider, die PR-Kurve jedoch.

Wenn Sie nur das Experiment in Forschungsarbeiten durchführen, können Sie die ROC verwenden, die experimentellen Ergebnisse werden schöner. Auf der anderen Seite wird die PR-Kurve im realen Problem verwendet und hat eine bessere Interpretierbarkeit.


7

Die obigen Antworten sind beide gut.

Ich möchte jedoch darauf hinweisen, dass AUC (Area under ROC) problematisch ist, insbesondere, wenn die Daten unausgewogen sind (so genannte stark verzerrte Werte: ist groß). Diese Art von Situationen ist bei der Erkennung von Handlungen, Betrugsfällen und Konkursvorhersagen sehr verbreitet. Das heißt, die positiven Beispiele, die Sie interessieren, weisen relativ niedrige Auftrittsraten auf.Skew=neGeintichveexeinmplespOsichtichveexeinmples

Bei unausgeglichenen Daten gibt Ihnen die AUC immer noch einen Scheinwert um 0,8. Es ist jedoch eher aufgrund der großen FP als aufgrund der großen TP (True Positive) hoch.

Wie im folgenden Beispiel,

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

Wenn Sie also AUC verwenden, um die Leistung des Klassifikators zu messen, besteht das Problem darin, dass die Erhöhung der AUC keinen besseren Klassifikator widerspiegelt. Es ist nur der Nebeneffekt von zu vielen negativen Beispielen. Sie können einfach in Ihrem Datensatz versuchen.

In dem Artikel mit Empfehlungen zu unausgeglichenen Daten für die Verwendung von Leistungsmetriken wurde festgestellt, dass "während der ROC nicht durch Versatz beeinflusst wurde, die Präzisionsrückrufkurven darauf hindeuten, dass der ROC in einigen Fällen eine schlechte Leistung maskieren kann". Die Suche nach einer guten Leistungsmetrik ist immer noch eine offene Frage. Ein allgemeiner F1-Score kann helfen,

Fβ=(1+β2)precichsichOnreceinll(β2precichsichOn)+receinll

Dabei ist die relative Bedeutung der Genauigkeit im Vergleich zum Rückruf.β

Dann sind meine Vorschläge für unausgewogene Daten ähnlich wie in diesem Beitrag . Sie können auch die Dekiliertabelle ausprobieren, die durch Durchsuchen von "Zwei-mal-Zwei-Klassifizierungs- und Dekiliertabellen" erstellt werden kann. In der Zwischenzeit beschäftige ich mich auch mit diesem Problem und werde bessere Maßstäbe setzen.


Wenn Sie sich für die Leistung einer Methode interessieren, sollten Sie ROC verwenden, um deren Klassifizierungsleistung anzuzeigen. Wenn Sie sich jedoch mehr für die tatsächliche Vorhersage eines echten Positivs interessieren, ist der F1-Score in der Industrie willkommen.
Xiaorui Zhu

2
In einem realen Geschäftsumfeld können die Kosten für falsch-positive und falsch-negative Ergebnisse geschätzt werden. Dann sollte die endgültige Klassifizierung auf einem Wahrscheinlichkeitsmodell und einer Klassifizierungsschwelle basieren, die ausgewählt werden, um die Kosten falscher Klassifizierungen zu minimieren. Ich denke nicht wirklich, dass Genauigkeit oder F-Score viele konkrete Anwendungen für den disziplinierten Datenwissenschaftler haben.
Matthew Drury

Ja, ich bin mit dem Entscheidungsverfahren einverstanden, das die Kosten einer falschen Klassifizierung in Bezug auf die Abschneidewahrscheinlichkeit und das Modell minimiert. In einigen Fällen können asymmetrische Kosten auf FP und FN angewendet werden. Der Punkt der Genauigkeit und der F-Punktzahl ist jedoch, die Gesamtleistung eines Modells zu überprüfen oder die Leistung zwischen mehreren Modellen zu vergleichen. In der Tat ist mit Daten, die als Datenwissenschaftler zur Verfügung stehen, eine Kostenminimierung immer möglich. Aber ich bin neugierig, ob Datenwissenschaftler in der Praxis die Verteilung (oder Variation) der Lösung des Entscheidungsproblems benötigen. Ich würde gerne wissen, ob Sie einige mit mir teilen könnten. Thx
Xiaorui Zhu

1
Persönlich würde ich die Anpassungsgüte eines Modells immer auf der Grundlage der vorausgesagten bedingten Wahrscheinlichkeiten bewerten. Daher würde ich Modelle immer mit einer geeigneten Bewertungsregel wie Log-Loss vergleichen, Bootstrapping verwenden, um sicherzustellen, dass die Verbesserung kein Rauschen ist, und möglicherweise mit AUC ergänzen.
Matthew Drury

2
Das halte ich nicht für richtig. AUC wurde speziell entwickelt, um unempfindlich gegenüber Klassenungleichgewichten zu sein. Ich habe umfangreiche Simulationen durchgeführt und festgestellt, dass dies zutrifft. Wenn Sie Modelle vergleichen, sollten sie auf Datensätzen basieren, die aus derselben Grundgesamtheit stammen, was zu Problemen mit dem Klassenungleichgewicht führt.
Matthew Drury

4

Um sehr einfache Worte zu formulieren, wenn Sie ein Datenungleichgewicht haben, dh der Unterschied zwischen der Anzahl der Beispiele für positive und negative Klassen ist groß, sollten Sie immer den F1-Score verwenden. Ansonsten können Sie ROC / AUC-Kurven verwenden.


Ihre Definition von "Datenungleichgewicht" ist so, dass Sie so gut wie immer F1-Score verwenden würden. Dies ist also keine große Hilfe. Vielleicht könnten Sie das etwas erweitern?
Bogenschütze

Ich hatte dort ein sehr wichtiges Wort verpasst ... Entschuldigung. Bearbeitet meine Antwort. Lassen Sie mich wissen, wenn Sie weitere Erläuterungen benötigen.
Balboa

1

Bei einigen Klassifizierungsproblemen mit mehreren Klassen ist das Analysieren und Visualisieren von ROC / AUC nicht einfach. Sie können sich mit dieser Frage befassen : Wie werden ROC-Kurven in einer Mehrklassenklassifizierung dargestellt? . In einer solchen Situation könnte die Verwendung der F1-Punktzahl eine bessere Metrik sein.

Der F1-Score ist eine häufige Wahl für Probleme beim Abrufen von Informationen und in der Industrie beliebt. Hier ist ein gut erklärtes Beispiel, das Erstellen von ML-Modellen ist schwierig. Ihre Bereitstellung in realen Geschäftsumgebungen ist schwieriger .


1

Wenn das Ziel der Klassifizierung die Bewertung nach der Wahrscheinlichkeit ist, ist es besser, AUC zu verwenden, die über alle möglichen Schwellenwerte gemittelt wird. Wenn das Ziel der Klassifizierung jedoch nur die Klassifizierung zwischen zwei möglichen Klassen erfordert und nicht die Wahrscheinlichkeit voraussagt, mit der jede Klasse vom Modell vorhergesagt wird, ist es angemessener, sich auf die F-Bewertung unter Verwendung eines bestimmten Schwellenwerts zu verlassen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.