sklearn.metrics.hamming_loss?

sklearn.metrics.hamming_loss(y_true, y_pred, *, sample_weight=None)

[源碼]

計算平均Hamming loss(漢明損失)。

Hamming loss是錯誤預測的標簽比例。

用戶指南中閱讀更多內容。

參數 說明
y_true 1d array-like, or label indicator array / sparse matrix
真實標簽。
y_pred 1d array-like, or label indicator array / sparse matrix
預測標簽,由分類器返回。
sample_weight array-like of shape (n_samples,), default=None
樣本權重。
版本0.18中的新功能。
返回值 說明
loss float or int,
返回y_true和y_pred元素之間的平均Hamming loss。

另見:

accuracy_score, jaccard_score, zero_one_loss

在多類分類中,當normalize參數設置為True時,漢明損失對應于y_true和y_pred之間的漢明距離,該距離等效于子集zero_one_loss函數。

在多標簽分類中,漢明損失與子集零一損失不同。如果一個零損失不完全匹配真實的標簽集,則認為給定樣本的整個標簽集不正確。 漢明損失更寬容,因為它只懲罰單個標簽。

當normalize參數設置為True時,漢明損失由子集零一損失限制。 總是在0到1之間,越低越好。

參考

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

2 Wikipedia entry on the Hamming distance

示例

>>> from sklearn.metrics import hamming_loss
>>> y_pred = [1234]
>>> y_true = [2234]
>>> hamming_loss(y_true, y_pred)
0.25

在帶有二進制標簽指示符的多標簽情況下:

>>> import numpy as np
>>> hamming_loss(np.array([[01], [11]]), np.zeros((22)))
0.75

sklearn.metrics.hamming_loss應用示例?