classification_report#

sklearn.metrics.classification_report(y_true, y_pred, *, labels=None, target_names=None, sample_weight=None, digits=2, output_dict=False, zero_division='warn')[Quelle]#

Erstellt einen Textbericht, der die wichtigsten Klassifikationsmetriken zeigt.

Mehr dazu im Benutzerhandbuch.

Parameter:
y_true1D Array-ähnlich oder Label-Indikator-Array / Sparse Matrix

Wahre (korrekte) Zielwerte. Sparse Matrix wird nur unterstützt, wenn die Ziele vom Typ Multilabel sind.

y_pred1D Array-ähnlich oder Label-Indikator-Array / Sparse Matrix

Geschätzte Ziele, wie sie von einem Klassifikator zurückgegeben werden. Sparse Matrix wird nur unterstützt, wenn die Ziele vom Typ Multilabel sind.

labelsArray-ähnlich der Form (n_labels,), Standard=None

Optionale Liste von Label-Indizes, die in den Bericht aufgenommen werden sollen.

target_namesArray-ähnlich der Form (n_labels,), Standard=None

Optionale Anzeigenamen, die den Labels entsprechen (gleiche Reihenfolge).

sample_weightarray-like der Form (n_samples,), Standardwert=None

Stichprobengewichte.

digitsint, Standard=2

Anzahl der Nachkommastellen für die Formatierung von Gleitkommawerten. Wenn output_dict True ist, wird dies ignoriert und die zurückgegebenen Werte werden nicht gerundet.

output_dictbool, Standard=False

Wenn True, wird die Ausgabe als Dictionary zurückgegeben.

Hinzugefügt in Version 0.20.

zero_division{“warn”, 0.0, 1.0, np.nan}, Standard=”warn”

Legt den Wert fest, der zurückgegeben wird, wenn eine Division durch Null auftritt. Wenn auf "warn" gesetzt, verhält es sich wie 0, aber es werden auch Warnungen ausgegeben.

Hinzugefügt in Version 1.3: Option np.nan hinzugefügt.

Gibt zurück:
reportstr oder dict

Textzusammenfassung der Präzision, des Recalls und des F1-Scores für jede Klasse. Dictionary wird zurückgegeben, wenn output_dict True ist. Dictionary hat die folgende Struktur

{'label 1': {'precision':0.5,
             'recall':1.0,
             'f1-score':0.67,
             'support':1},
 'label 2': { ... },
  ...
}

Die berichteten Durchschnitte umfassen den Makro-Durchschnitt (Mittelung des ungewichteten Mittels pro Label), den gewichteten Durchschnitt (gewichtete Mittelung des Support-gewichteten Mittels pro Label) und den Sample-Durchschnitt (nur für Multilabel-Klassifikation). Der Mikro-Durchschnitt (Mittelung der gesamten True Positives, False Negatives und False Positives) wird nur für Multilabel- oder Multi-Klassen mit einer Teilmenge von Klassen angezeigt, da er sonst der Genauigkeit entspricht und für alle Metriken gleich wäre. Weitere Details zu den Durchschnittswerten finden Sie unter precision_recall_fscore_support.

Beachten Sie, dass bei binärer Klassifikation der Recall der positiven Klasse auch als "Sensitivität" und der Recall der negativen Klasse als "Spezifität" bekannt ist.

Siehe auch

precision_recall_fscore_support

Berechne Präzision, Recall, F-Maß und Support für jede Klasse.

confusion_matrix

Berechnet die Konfusionsmatrix zur Bewertung der Genauigkeit einer Klassifikation.

multilabel_confusion_matrix

Berechne eine Konfusionsmatrix für jede Klasse oder Stichprobe.

Beispiele

>>> from sklearn.metrics import classification_report
>>> y_true = [0, 1, 2, 2, 2]
>>> y_pred = [0, 0, 2, 2, 1]
>>> target_names = ['class 0', 'class 1', 'class 2']
>>> 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

    accuracy                           0.60         5
   macro avg       0.50      0.56      0.49         5
weighted avg       0.70      0.60      0.61         5

>>> y_pred = [1, 1, 0]
>>> y_true = [1, 1, 1]
>>> print(classification_report(y_true, y_pred, labels=[1, 2, 3]))
              precision    recall  f1-score   support

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

   micro avg       1.00      0.67      0.80         3
   macro avg       0.33      0.22      0.27         3
weighted avg       1.00      0.67      0.80         3