汉明损失#
- sklearn.metrics.hamming_loss(y_true, y_pred, *, sample_weight=None)[source]#
计算平均汉明损失。
汉明损失是错误预测的标签比例。
更多信息请参考 用户指南.
- 参数:
- y_true一维数组或标签指示数组/稀疏矩阵
真实标签。
- y_pred一维数组或标签指示数组/稀疏矩阵
分类器预测的标签。
- sample_weight形状为 (n_samples,) 的数组,默认为 None
样本权重。
0.18版本新增。
- 返回值:
- loss浮点数或整数
返回
y_true
和y_pred
元素之间的平均汉明距离。
另请参见
accuracy_score
计算准确率得分。默认情况下,该函数将返回正确预测的比例除以预测总数。
jaccard_score
计算 Jaccard 相似系数得分。
零一损失 (zero_one_loss)
计算零一分类损失。默认情况下,该函数将返回预测不完美的子集的百分比。
备注
在多类别分类中,汉明损失对应于
y_true
和y_pred
之间的汉明距离,当normalize
参数设置为 True 时,这等效于子集zero_one_loss
函数。在多标签分类中,汉明损失与子集零一损失不同。如果零一损失对于给定样本的整个标签集与真实标签集不完全匹配,则认为该整个标签集是错误的。汉明损失更宽容,因为它只惩罚单个标签。
当
normalize
参数设置为 True 时,汉明损失的上限为子集零一损失。它始终介于 0 和 1 之间,越低越好。参考文献
[1]Grigorios Tsoumakas, Ioannis Katakis. 多标签分类:概述。国际数据仓库与挖掘杂志,3(3),1-13,2007 年 7 月 - 9 月。
[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
图库示例#
模型复杂度影响