multilabel_confusion_matrix#
- sklearn.metrics.multilabel_confusion_matrix(y_true, y_pred, *, sample_weight=None, labels=None, samplewise=False)[Quelle]#
Berechne eine Konfusionsmatrix für jede Klasse oder Stichprobe.
Hinzugefügt in Version 0.21.
Berechnet klassenweise (Standard) oder beispielweise (samplewise=True) eine multilabel-Konfusionsmatrix zur Bewertung der Genauigkeit einer Klassifikation und gibt Konfusionsmatrizen für jede Klasse oder jedes Beispiel aus.
In der multilabel-Konfusionsmatrix \(MCM\) sind die Anzahl der wahren Negativen \(MCM_{:,0,0}\), die Anzahl der falschen Negativen \(MCM_{:,1,0}\), die Anzahl der wahren Positiven \(MCM_{:,1,1}\) und die Anzahl der falschen Positiven \(MCM_{:,0,1}\).
Multiklassen-Daten werden so behandelt, als wären sie mittels einer One-vs-Rest-Transformation binarisiert. Die zurückgegebenen Konfusionsmatrizen erfolgen in der Reihenfolge der sortierten eindeutigen Labels in der Vereinigung von (y_true, y_pred).
Lesen Sie mehr im Benutzerhandbuch.
- Parameter:
- y_true{array-like, sparse matrix} der Form (n_samples, n_outputs) oder (n_samples,)
Grundwahrheit (korrekte) Zielwerte. Sparse Matrix wird nur unterstützt, wenn die Labels vom Typ multilabel sind.
- y_pred{array-like, sparse matrix} der Form (n_samples, n_outputs) oder (n_samples,)
Geschätzte Ziele, wie sie von einem Klassifikator zurückgegeben werden. Sparse Matrix wird nur unterstützt, wenn die Labels vom Typ multilabel sind.
- sample_weightarray-like der Form (n_samples,), Standardwert=None
Stichprobengewichte.
- labelsarray-like der Form (n_classes,), Standard=None
Eine Liste von Klassen oder Spaltenindizes, um einige auszuwählen (oder um sicherzustellen, dass Klassen, die in den Daten fehlen, eingeschlossen werden).
- samplewisebool, Standard=False
Im Multilabel-Fall wird hier eine Konfusionsmatrix pro Beispiel berechnet.
- Gibt zurück:
- multi_confusionndarray der Form (n_outputs, 2, 2)
Eine 2x2-Konfusionsmatrix, die jedem Output in der Eingabe entspricht. Bei der Berechnung der klassenweisen multi_confusion (Standard) ist n_outputs = n_labels; bei der Berechnung der beispielweisen multi_confusion (samplewise=True) ist n_outputs = n_samples. Wenn
labelsdefiniert ist, werden die Ergebnisse in der vonlabelsangegebenen Reihenfolge zurückgegeben, andernfalls werden die Ergebnisse standardmäßig in sortierter Reihenfolge zurückgegeben.
Siehe auch
confusion_matrixBerechnet die Konfusionsmatrix zur Bewertung der Genauigkeit eines Klassifikators.
Anmerkungen
Die
multilabel_confusion_matrixberechnet klassenweise oder beispielweise multilabel-Konfusionsmatrizen, und bei Multiklassen-Aufgaben werden Labels mittels einer One-vs-Rest-Methode binarisiert; währendconfusion_matrixeine Konfusionsmatrix für die Verwechslung zwischen je zwei Klassen berechnet.Beispiele
Multilabel-Indicator-Fall
>>> import numpy as np >>> from sklearn.metrics import multilabel_confusion_matrix >>> y_true = np.array([[1, 0, 1], ... [0, 1, 0]]) >>> y_pred = np.array([[1, 0, 0], ... [0, 1, 1]]) >>> multilabel_confusion_matrix(y_true, y_pred) array([[[1, 0], [0, 1]], [[1, 0], [0, 1]], [[0, 1], [1, 0]]])
Multiklassen-Fall
>>> y_true = ["cat", "ant", "cat", "cat", "ant", "bird"] >>> y_pred = ["ant", "ant", "cat", "cat", "ant", "cat"] >>> multilabel_confusion_matrix(y_true, y_pred, ... labels=["ant", "bird", "cat"]) array([[[3, 1], [0, 2]], [[5, 0], [1, 0]], [[2, 1], [1, 2]]])