Ich beschäftige mich mit einem (kreditbewertungsähnlichen) Problem der Betrugserkennung. Insofern besteht ein sehr unausgewogenes Verhältnis zwischen betrügerischen und nicht betrügerischen Beobachtungen.
http://blog.revolutionanalytics.com/2016/03/com_class_eval_metrics_r.html bietet einen hervorragenden Überblick über verschiedene Klassifizierungsmetriken. Precision and Recall
oder kappa
beide scheinen eine gute Wahl zu sein:
Eine Möglichkeit, die Ergebnisse solcher Klassifikatoren zu rechtfertigen, besteht darin, sie mit denen von Basisklassifikatoren zu vergleichen und zu zeigen, dass sie tatsächlich besser sind als zufällige Zufallsvorhersagen.
Soweit ich weiß, kappa
könnte hier die etwas bessere Wahl sein, da zufällige Zufälle berücksichtigt werden. Aus Cohens Kappa in einfachem Englisch verstehe ich, dass es kappa
sich um das Konzept des Informationsgewinns handelt:
[...] eine beobachtete Genauigkeit von 80% ist mit einer erwarteten Genauigkeit von 75% viel weniger beeindruckend als mit einer erwarteten Genauigkeit von 50% [...]
Daher wären meine Fragen:
- Ist es richtig anzunehmen
kappa
, eine besser geeignete Klassifizierungsmetrik für dieses Problem zu sein? kappa
Verhindert die einfache Verwendung die negativen Auswirkungen eines Ungleichgewichts auf den Klassifizierungsalgorithmus? Ist noch eine erneute Stichprobenerhebung (Down / Up) oder kostenbasiertes Lernen (siehe http://www.icmc.usp.br/~mcmonard/public/laptec2002.pdf ) erforderlich?
quelle
Antworten:
Ja, Ihre Vermutungen zu Kappa scheinen in etwa richtig zu sein. Kappa als einzelne skalare Metrik ist meistens von Vorteil gegenüber anderen einzelnen skalaren Metriken wie der Genauigkeit, die die Prognoseleistung kleinerer Klassen (im Schatten der Leistung einer viel größeren Klasse) nicht widerspiegeln. Kappa löst dieses Problem eleganter, wie Sie betont haben.
Wenn Sie eine Metrik wie Kappa verwenden, um Ihre Leistung zu messen, wird die Anpassung Ihres Modells an die Daten nicht unbedingt verbessert. Sie können die Leistung jedes Modells anhand einer Reihe von Metriken messen. Wie das Modell Daten anpasst, wird jedoch anhand anderer Parameter (z. B. Hyperparameter) bestimmt. Sie können beispielsweise Kappa verwenden, um einen am besten geeigneten Modelltyp und eine Hyperparametrisierung aus mehreren Optionen für Ihr sehr unausgewogenes Problem auszuwählen. Die Berechnung von Kappa selbst ändert jedoch nichts an der Anpassung Ihres Modells an Ihre unausgewogenen Daten.
Für verschiedene Metriken: Sehen Sie sich neben Kappa und Präzision / Abruf auch die echten positiven und echten negativen Raten TPR / TNR- und ROC-Kurven sowie den Bereich unter der Kurve AUC an. Welche davon für Ihr Problem nützlich sind, hängt hauptsächlich von den Details Ihres Ziels ab. Zum Beispiel die unterschiedlichen Informationen, die sich in TPR / TNR und Präzision / Rückruf widerspiegeln: Ihr Ziel ist es, einen hohen Anteil von Betrügereien als solche und einen hohen Anteil von legitimen Transaktionen als solche zu erkennen und / oder den Anteil zu minimieren von Fehlalarmen (die Sie natürlich mit solchen Problemen "en mass" bekommen) in allen Alarmen?
Für Up- / Downsampling: Ich denke, es gibt keine kanonische Antwort auf "wenn diese benötigt werden". Sie sind eher eine Möglichkeit, Ihr Problem anzupassen. Technisch gesehen: Ja, Sie könnten sie verwenden, aber Sie sollten vorsichtig vorgehen, insbesondere beim Upsampling (möglicherweise werden unrealistische Samples erstellt, ohne dass dies bemerkt wird) msgstr "könnte sich ebenfalls negativ auf die Prognoseleistung auswirken. Zumindest das endgültige, durchgehaltene Testset sollte die tatsächliche Häufigkeit der Proben wiedergeben. Fazit: Ich habe beide Fälle gesehen, in denen das Durchführen und Nichtdurchführen von Up- / Downsampling zu besseren Endergebnissen führte. Dies ist also etwas, das Sie möglicherweise ausprobieren müssen (aber nicht Ihre Test-Sets manipulieren!). .
quelle
Neben der AUC und Kohonens Kappa, die bereits in den anderen Antworten besprochen wurden, möchte ich auch einige Metriken hinzufügen, die ich für unausgeglichene Daten als nützlich erachtet habe. Sie beziehen sich beide auf Präzision und Rückruf . Denn durch die Mittelung dieser erhalten Sie eine Metrik mit und beiden Arten von Fehlern ( und ):TP FP FN
Hinweis: Bei unausgeglichenen Datasets ist es am besten, dass Ihre Metriken einen Makromittelwert haben .
quelle
Bei unausgeglichenen Datensätzen ist die Metrik "Average Precision" manchmal eine bessere Alternative zur AUROC. Der AP-Score ist der Bereich unter der Präzisionsrückrufkurve.
Hier ist eine Diskussion mit etwas Code (Python)
Hier ist ein Papier .
Siehe auch Peter Flachs Precision-Recall-Gain-Kurven , zusammen mit einer Diskussion über das Manko von AP-Kurven.
quelle