Präzision ist definiert als:
p = wahr positiv / (wahr positiv + falsch positiv)
Was ist der Wert der Präzision, wenn (wahr positiv + falsch positiv) = 0 ist? Ist es nur undefiniert?
Gleiche Frage zum Rückruf:
r = wahr positiv / (wahr positiv + falsch negativ)
Was ist in diesem Fall der Wert des Rückrufs, wenn (wahr-positiv + falsch-negativ) = 0 ist?
PS Diese Frage ist der Frage sehr ähnlich. Was sind korrekte Werte für Präzision und Rückruf in Randfällen? .
precision-recall
Raffi Khatchadourian
quelle
quelle
Antworten:
Auch hier gelten die Antworten auf die verlinkte frühere Frage.
Wenn (wahr positiv + falsch negativ) = 0, dann keine positiven Fälle in den Eingabedaten, daher enthält jede Analyse dieses Falls keine Informationen und daher keine Schlussfolgerung darüber, wie positive Fälle behandelt werden. Sie möchten N / A oder ähnliches als Verhältnisergebnis, um einen Fehler durch Division durch Null zu vermeiden
Wenn (wahr-positiv + falsch-positiv) = 0 ist, wurden alle Fälle als negativ vorhergesagt: Dies ist ein Ende der ROC-Kurve. Auch hier möchten Sie diese Möglichkeit erkennen und melden, während Sie einen Fehler durch Division durch Null vermeiden .
quelle
Eine interessante Antwort finden Sie hier: https://github.com/dice-group/gerbil/wiki/Precision,-Recall-and-F1-measure
Die Autoren des Moduls geben unterschiedliche Bewertungen für Präzision und Rückruf aus, je nachdem, ob echte Positive, falsche Positive und falsche Negative alle 0 sind. Wenn dies der Fall ist, ist das Ergebnis angeblich gut.
Ich bin mir nicht sicher, ob diese Art der Wertung in anderen Situationen außerhalb ihres Sonderfalls nützlich wäre, aber es lohnt sich, darüber nachzudenken.
quelle
Bei der Bewertung eines Klassifikators bei hohen Schwellenwerten kann die Genauigkeit (häufig tatsächlich) nicht 1 sein, wenn der Rückruf 0 beträgt. Sie ist normalerweise nicht zutreffend! Ich denke, es stimmt etwas nicht, wie Leute die P / R-Kurve zeichnen. Das Vermeiden von N / A-Samples ist eine Verzerrung in dem Sinne, dass Sie Singularity-Samples vermeiden. Ich habe die durchschnittliche Genauigkeit für den durchschnittlichen Rückruf berechnet, wobei N / A-Stichproben ignoriert wurden, und ich habe nie einen Klassifikator erhalten, der bei 1 für 0 Rückruf für ein flaches neuronales Netz bei der Objekterkennung beginnt. Dies galt auch für Kurven, die mit den Zahlen tp, fp, fn berechnet wurden. Die Überprüfung mit Papier und Bleistift mit einem einzigen Bild ist recht einfach. Zum Beispiel: Ich habe einen Klassifikator, der für ein einzelnes Bild ausgibt: preds = [. 7 .6 .5 .1 .05] truth = [nynny] Durch Berechnen der Verwirrungsmatrizen mit den verschiedenen Schwellenwerten haben wir: tp = [2 1 1 1 0 0], fn = [0 1 1 1 2 2], fp = [3 3 2 1 1 0]. der Rückruf rec = [1 .5 .5 .5 0 0] und die Genauigkeit = [. 4 .25 1/3 .5 0 NaN]. Ich sehe nicht ein, wie es sinnvoll wäre, ein NaN oder die Genauigkeit (@ Rückruf == 0) durch 1 zu ersetzen. 1 sollte eine Obergrenze sein, kein Wert, durch den wir die Genauigkeit (@ Rückruf == 0) ersetzen.
quelle