logloss vs gini / auc


14

Ich habe zwei Modelle trainiert (binäre Klassifikatoren mit h2o AutoML) und möchte eines zur Verwendung auswählen. Ich habe folgende Ergebnisse:

 model_id        auc     logloss    logloss_train   logloss_valid   gini_train  gini_valid

DL_grid_1   0.542694    0.287469         0.092717        0.211956     0.872932    0.312975
DL_grid_2   0.543685    0.251431         0.082616        0.186196     0.900955    0.312662

Die Spalten aucund loglosssind die Kreuzvalidierungsmetriken (bei der Kreuzvalidierung werden nur die Trainingsdaten verwendet). Die Metriken ..._trainund ..._validwerden ermittelt, indem die Trainings- und Validierungsmetriken durch die Modelle ausgeführt werden. Ich möchte entweder das logloss_validoder das verwenden gini_valid, um das beste Modell auszuwählen.

Modell 1 hat einen besseren Gini (dh eine bessere AUC), aber Modell zwei hat einen besseren Logloss. Meine Frage ist, welche ich wählen soll, was meiner Meinung nach die Frage aufwirft, welche Vor- und Nachteile es hat, entweder Gini (AUC) oder Logloss als Entscheidungsmetrik zu verwenden.


1
Dieses Video enthält eine schöne Erklärung, warum Logloss bevorzugt wird, wenn Sie an den Wahrscheinlichkeiten und nicht nur an der Klassifizierung interessiert sind. Beachten Sie, dass für die binäre Klassifizierung der Protokollverlust gleich dem Brier-Score ist.
Dan

Antworten:


9

Während die AUC in Bezug auf die binäre Klassifizierung mit einer variierenden Entscheidungsschwelle berechnet wird, berücksichtigt der Protokollverlust tatsächlich die "Sicherheit" der Klassifizierung.

Nach meinem Verständnis geht logloss konzeptionell über die AUC hinaus und ist insbesondere in Fällen mit unausgeglichenen Daten oder bei ungleich verteilten Fehlerkosten (z. B. Erkennung einer tödlichen Krankheit) relevant.

Zusätzlich zu dieser sehr einfachen Antwort möchten Sie vielleicht einen Blick auf die Optimierung von auc vs logloss bei Problemen mit der binären Klassifizierung werfen

Ein einfaches Beispiel für die Berechnung des Protokollverlusts und das zugrunde liegende Konzept wird in dieser aktuellen Frage erläutert. Die Funktion "Protokollverlust" in scikit-learn gibt unterschiedliche Werte zurück

Darüber hinaus wurde beim Stackoverflow ein sehr guter Punkt hervorgehoben

Man muss den entscheidenden Unterschied zwischen AUC ROC und "punktuellen" Metriken wie Genauigkeit / Präzision usw. verstehen. ROC ist eine Funktion eines Schwellenwerts. Bei einem Modell (Klassifikator), das die Wahrscheinlichkeit der Zugehörigkeit zu jeder Klasse ausgibt, klassifizieren wir normalerweise Elemente der Klasse mit der höchsten Unterstützung. Manchmal können wir jedoch bessere Ergebnisse erzielen, indem wir diese Regel ändern und verlangen, dass eine Unterstützung zweimal größer als die andere ist, um tatsächlich als eine bestimmte Klasse klassifiziert zu werden. Dies gilt häufig für unausgeglichene Datensätze. Auf diese Weise modifizieren Sie tatsächlich den vor dem Unterricht erlernten Wert, um Ihre Daten besser anzupassen. ROC untersucht "Was würde passieren, wenn ich diesen Schwellenwert auf alle möglichen Werte ändere" und dann berechnet AUC ROC das Integral einer solchen Kurve.


Ihr erster Link enthält "AUC maximiert die Fähigkeit des Modells, zwischen Klassen zu unterscheiden, während der Protokollverlust die Divergenz zwischen tatsächlichen und geschätzten Wahrscheinlichkeiten bestraft". Daher frage ich mich im Grunde, wie ich zwischen diesen beiden Zielen wählen soll. Wenn ich direkt mit der 'Wahrscheinlichkeit'-Ausgabe des Modells arbeite, sollte ich den Protokollverlust optimieren (und dann wahrscheinlich auch eine Wahrscheinlichkeitskalibrierung durchführen ), wobei ich ihn tatsächlich als Klassifikator verwende, um eine schwierige Entscheidung zu treffen es ist das eine oder andere calss ich sollte mit AUC gehen?
Dan

2
Wenn Sie sich nur für eine richtige oder falsche Entscheidung interessieren -> verwenden Sie AUC - wenn Sie sich dafür interessieren, wie viel "richtig" oder "falsch" Sie sind -> verwenden Sie logloss
Nikolas Rieble

Eine weitere Auswahl des Leistungsmaßes kann nicht verallgemeinert werden, sondern hängt von der Domäne / Anwendung ab.
Nikolas Rieble
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.