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。 |
另見:
注
在多類分類中,當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 = [1, 2, 3, 4]
>>> y_true = [2, 2, 3, 4]
>>> hamming_loss(y_true, y_pred)
0.25
在帶有二進制標簽指示符的多標簽情況下:
>>> import numpy as np
>>> hamming_loss(np.array([[0, 1], [1, 1]]), np.zeros((2, 2)))
0.75