Was bedeuten die Zahlen im Klassifizierungsbericht von sklearn?


29

Ich habe unten ein Beispiel aus der Dokumentation sklearn.metrics.classification_report von sklearn.

Was ich nicht verstehe, ist, warum es für jede Klasse, für die ich glaube, dass die Klasse das Prädiktorlabel ist, Werte für f1-Punktzahl, Präzision und Rückruf gibt? Ich dachte, der f1-Score sagt Ihnen die Gesamtgenauigkeit des Modells. Was sagt uns auch die Support-Spalte? Ich konnte keine Informationen dazu finden.

print(classification_report(y_true, y_pred, target_names=target_names))
             precision    recall  f1-score   support

    class 0       0.50      1.00      0.67         1
    class 1       0.00      0.00      0.00         1
    class 2       1.00      0.67      0.80         3

avg / total       0.70      0.60      0.61         5

Antworten:


21

Mit der f1-Note erhalten Sie das harmonische Mittel für Präzision und Erinnerung. Die jeder Klasse entsprechenden Bewertungen geben Aufschluss über die Genauigkeit des Klassifikators bei der Klassifizierung der Datenpunkte in dieser bestimmten Klasse im Vergleich zu allen anderen Klassen.

Die Unterstützung ist die Anzahl der Stichproben der echten Antwort, die in dieser Klasse liegen.

Dokumentation zu beiden Maßnahmen finden Sie in der sklearn-Dokumentation.

Support - http://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_recall_fscore_support.html

F1-Score - http://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html

BEARBEITEN

Die letzte Zeile gibt einen gewichteten Durchschnitt aus Genauigkeit, Rückruf und f1-Punktzahl an, wobei die Gewichte die Stützwerte sind. Also für die Präzision ist der Durchschnitt (0.50*1 + 0.0*1 + 1.0*3)/5 = 0.70. Die Summe ist nur für die gesamte Unterstützung, die hier 5 ist.


1
was ist mit der letzten Zeile avg / total? Es scheint nicht mit den Spaltenmitteln übereinzustimmen ... Wie wird es berechnet und was bedeutet es?
Antoine

@Antoine ich wundere mich auch das selbe. Haben Sie herausgefunden, wie es berechnet wird?
Hellblauer Punkt

@Antoine Die letzte Zeile gibt einen gewichteten Durchschnitt aus Genauigkeit, Abruf und f1-Punktzahl an, wobei die Gewichte die Stützwerte sind. Also für die Präzision ist der Durchschnitt (0.50*1 + 0.0*1 + 1.0*3)/5 = 0.70. Die Summe ist nur für die gesamte Unterstützung, die hier 5 ist.
Nitin

Dank der vorherigen Antwort von @ Nitin fand ich durch Links die besten visuellen Beschreibungen und die Intuition hinter Mathe: en.wikipedia.org/wiki/Precision_and_recall en.wikipedia.org/wiki/F1_score
Bogdan Korecki
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.