Ich frage mich, wie man die Präzision berechnet und eine Verwirrungsmatrix für ein Klassifizierungsproblem mit mehreren Klassen verwendet. Insbesondere kann eine Beobachtung nur ihrer wahrscheinlichsten Klasse / Kennzeichnung zugeordnet werden. Ich würde gerne berechnen:
- Präzision = TP / (TP + FP)
- Rückruf = TP / (TP + FN)
für jede Klasse, und berechnen Sie dann das mikro-gemittelte F-Maß.
Antworten:
In einem Fall mit 2 Hypothesen ist die Verwirrungsmatrix normalerweise:
wo ich so etwas wie deine notation benutzt habe:
Ausgehend von den Rohdaten entsprechen die Werte in der Tabelle normalerweise den Zählwerten für jedes Vorkommen über den Testdaten. Daraus sollten Sie die Mengen berechnen können, die Sie benötigen.
Bearbeiten
Die Verallgemeinerung für Mehrklassenprobleme besteht darin, über Zeilen / Spalten der Verwirrungsmatrix zu summieren. Vorausgesetzt, dass die Matrix wie oben ausgerichtet ist, dh dass eine bestimmte Zeile der Matrix einem bestimmten Wert für die "Wahrheit" entspricht, haben wir:
Das heißt, Präzision ist der Bruchteil von Ereignissen, in denen wir korrekt aus allen Fällen deklariert haben , in denen der Algorithmus deklariert hat . Umgekehrt ist der Rückruf der Bruchteil von Ereignissen, bei denen wir aus allen Fällen, in denen der wahre Zustand der Welt ist, korrekt deklariert haben .ich ich ichi i i i
quelle
i
ist nicht definiert, wenn es keine Fälle gibt, in denen der Algorithmus deklarierti
. Der Rückruf für die Klassei
ist undefiniert, wenn der Testsatz keine Klasse enthälti
.Gutes zusammenfassendes Papier, das diese Metriken auf Probleme mit mehreren Klassen untersucht:
Das Abstract lautet:
quelle
Sklearn und numpy benutzen:
Verwenden Sie dann, um allgemeine Maßstäbe für Präzision und Abruf zu erhalten
quelle