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 labels definiert ist, werden die Ergebnisse in der von labels angegebenen Reihenfolge zurückgegeben, andernfalls werden die Ergebnisse standardmäßig in sortierter Reihenfolge zurückgegeben.

Siehe auch

confusion_matrix

Berechnet die Konfusionsmatrix zur Bewertung der Genauigkeit eines Klassifikators.

Anmerkungen

Die multilabel_confusion_matrix berechnet klassenweise oder beispielweise multilabel-Konfusionsmatrizen, und bei Multiklassen-Aufgaben werden Labels mittels einer One-vs-Rest-Methode binarisiert; während confusion_matrix eine 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]]])