漢明損失#
- sklearn.metrics.hamming_loss(y_true, y_pred, *, sample_weight=None)[原始碼]#
計算平均漢明損失。
漢明損失是錯誤預測的標籤比例。
請閱讀使用者指南以了解更多資訊。
- 參數:
- y_true一維類陣列 (1d array-like),或標籤指示陣列 / 稀疏矩陣
真實 (正確) 標籤。
- y_pred一維類陣列 (1d array-like),或標籤指示陣列 / 稀疏矩陣
預測標籤,由分類器返回。
- sample_weight形狀為 (n_samples,) 的類陣列,預設為 None
樣本權重。
於版本 0.18 新增。
- 回傳值:
- loss浮點數 (float) 或整數 (int)
回傳
y_true
和y_pred
元素之間的平均漢明損失。
另請參閱
accuracy_score
計算準確率 (accuracy score)。預設情況下,此函數將返回正確預測的分數除以預測總數。
jaccard_score
計算 Jaccard 相似係數分數 (Jaccard similarity coefficient score)。
零一損失 (zero_one_loss)
計算零一分類損失 (Zero-one classification loss)。預設情況下,此函數將返回不完美預測子集的百分比。
備註
在多類別分類中,漢明損失對應於
y_true
和y_pred
之間的漢明距離,當normalize
參數設為 True 時,這等同於子集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]範例
>>> 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