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_trueundy_predzurück.
Siehe auch
accuracy_scoreBerechnet den Genauigkeits-Score. Standardmäßig gibt die Funktion den Anteil der korrekten Vorhersagen geteilt durch die Gesamtzahl der Vorhersagen zurück.
jaccard_scoreBerechnet den Jaccard-Ähnlichkeitskoeffizienten-Score.
zero_one_lossBerechnet 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_trueundy_pred, was äquivalent zur Teilmengen-Funktionzero_one_lossist, wenn der Parameternormalizeauf 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
normalizeauf 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