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_dictTrueist, 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.nanhinzugefü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_supportBerechne Präzision, Recall, F-Maß und Support für jede Klasse.
confusion_matrixBerechnet die Konfusionsmatrix zur Bewertung der Genauigkeit einer Klassifikation.
multilabel_confusion_matrixBerechne 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
Galeriebeispiele#
Gesichtserkennungsbeispiel mit Eigenfaces und SVMs
Benutzerdefinierte Refit-Strategie einer Gitter-Suche mit Kreuzvalidierung
Restricted Boltzmann Machine Merkmale für Ziffernklassifikation