hamming_loss#

sklearn.metrics.hamming_loss(y_true, y_pred, *, sample_weight=None)[Quelle]#

Berechne den durchschnittlichen Hamming-Verlust.

Der Hamming-Verlust ist der Anteil der falsch vorhergesagten Labels.

Lesen Sie mehr im Benutzerhandbuch.

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

Wahrheitsgemäße (korrekte) Labels. Sparse-Matrizen werden nur unterstützt, wenn die Ziele vom Typ multilabel sind.

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

Vorhergesagte Labels, wie sie von einem Klassifikator zurückgegeben werden. Sparse-Matrizen werden nur unterstützt, wenn die Ziele vom Typ multilabel sind.

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

Stichprobengewichte.

Hinzugefügt in Version 0.18.

Gibt zurück:
lossfloat

Gibt den durchschnittlichen Hamming-Verlust zwischen Elementen von y_true und y_pred zurück.

Siehe auch

accuracy_score

Berechnet den Genauigkeits-Score. Standardmäßig gibt die Funktion den Anteil der korrekten Vorhersagen geteilt durch die Gesamtzahl der Vorhersagen zurück.

jaccard_score

Berechnet den Jaccard-Ähnlichkeitskoeffizienten-Score.

zero_one_loss

Berechnet den Zero-One-Klassifikationsverlust. Standardmäßig gibt die Funktion den Prozentsatz der unvollständig vorhergesagten Teilmengen zurück.

Anmerkungen

Bei der Multiklassen-Klassifikation entspricht der Hamming-Verlust der Hamming-Distanz zwischen y_true und y_pred, was äquivalent zur Teilmengen-Funktion zero_one_loss ist, wenn der Parameter normalize auf True gesetzt ist.

Bei der Multilabel-Klassifikation unterscheidet sich der Hamming-Verlust vom Teilmengen-Zero-One-Verlust. Der Zero-One-Verlust betrachtet die gesamte Menge der Labels für eine gegebene Stichprobe als falsch, wenn sie nicht vollständig mit der wahren Menge der Labels übereinstimmt. Der Hamming-Verlust ist nachsichtiger, da er nur die einzelnen Labels bestraft.

Der Hamming-Verlust ist durch den Teilmengen-Zero-One-Verlust nach oben begrenzt, wenn der Parameter normalize auf True gesetzt ist. Er liegt immer zwischen 0 und 1, wobei niedrigere Werte besser sind.

Referenzen

[1]

Grigorios Tsoumakas, Ioannis Katakis. Multi-Label Classification: An Overview. International Journal of Data Warehousing & Mining, 3(3), 1-13, Juli-September 2007.

Beispiele

>>> from sklearn.metrics import hamming_loss
>>> y_pred = [1, 2, 3, 4]
>>> y_true = [2, 2, 3, 4]
>>> hamming_loss(y_true, y_pred)
0.25

Im Multilabel-Fall mit binären Label-Indikatoren

>>> import numpy as np
>>> hamming_loss(np.array([[0, 1], [1, 1]]), np.zeros((2, 2)))
0.75