hamming_loss#

sklearn.metrics.hamming_loss(y_true, y_pred, *, sample_weight=None)[源代码]#

计算平均海明损失。

海明损失是被错误预测的标签的比例。

阅读更多的 User Guide .

参数:
y_true1D类数组或标签指示符数组/稀疏矩阵

地面真相(正确)标签。

y_pred1D类数组或标签指示符数组/稀疏矩阵

预测标签,由分类器返回。

sample_weight形状类似数组(n_samples,),默认=无

样本重量。

Added in version 0.18.

返回:
lossfloat或int

返回元素之间的平均海明损失 y_truey_pred .

参见

accuracy_score

计算准确度分数。默认情况下,该函数将返回正确预测的分数除以预测总数。

jaccard_score

计算Jaccard相似性系数得分。

zero_one_loss

计算零一分类损失。默认情况下,该函数将返回不完全预测的子集的百分比。

注意到

在多类分类中,海明损失对应于 y_truey_pred 相当于子集 zero_one_loss 函数,当 normalize 参数设置为True。

在多标签分类中,海明损失与子集一一损失不同。如果给定样本的整个标签集与真实的标签集不完全匹配,则零-1损失将认为给定样本的整个标签集不正确。海明损失更宽容,因为它只惩罚个别品牌。

海明损失由子集零一损失为上界,当 normalize 参数设置为True。它总是在0和1之间,越低越好。

引用

[1]

格里戈里奥斯·祖马卡斯、扬尼斯·卡塔基斯。多标签分类:概述。国际数据仓库与挖掘杂志,3(3),1-13,2007年7月至9月。

[2]

Wikipedia entry on the Hamming distance <https://en.wikipedia.org/wiki/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