hamming_loss#
- sklearn.metrics.hamming_loss(y_true, y_pred, *, sample_weight=None)[源]#
计算平均 Hamming 损失。
Hamming loss 是错误预测的标签的比例。
在 用户指南 中了解更多。
- 参数:
- 返回:
- loss浮点数
返回 `y_true` 和 `y_pred` 元素之间的平均 Hamming loss。
另请参阅
accuracy_score计算准确率分数。默认情况下,该函数将返回正确预测数除以总预测数的比例。
jaccard_score计算 Jaccard 相似系数分数。
zero_one_loss计算零一分类损失。默认情况下,该函数将返回不完美预测的子集的百分比。
注意事项
在多类分类中,Hamming loss 对应于 `y_true` 和 `y_pred` 之间的 Hamming 距离,这等同于当 `normalize` 参数设置为 True 时的子集 `zero_one_loss` 函数。
在多标签分类中,Hamming loss 与子集零一损失不同。零一损失将给定样本的整个标签集视为错误,如果它不完全匹配真实标签集。Hamming loss 更宽容,因为它只惩罚单个标签。
当 `normalize` 参数设置为 True 时,Hamming loss 的上限是子集零一损失。它始终在 0 和 1 之间,越低越好。
References
[1]Grigorios Tsoumakas, Ioannis Katakis. Multi-Label Classification: An Overview. International Journal of Data Warehousing & Mining, 3(3), 1-13, July-September 2007.
示例
>>> 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