zero_one_loss#

sklearn.metrics.zero_one_loss(y_true, y_pred, *, normalize=True, sample_weight=None)#

零一分类损失。

如果 normalize 是 True ,则返回错误分类的比例(浮点数),否则返回错误分类的数量(整数)。最佳性能为 0。

更多信息请参阅 用户指南

Parameters:
y_true1d array-like, 或标签指示器数组 / 稀疏矩阵

真实标签(正确的)。

y_pred1d array-like, 或标签指示器数组 / 稀疏矩阵

分类器预测的标签。

normalizebool, 默认=True

如果为 False ,返回错误分类的数量。 否则,返回错误分类的比例。

sample_weightarray-like of shape (n_samples,), 默认=None

样本权重。

Returns:
lossfloat 或 int,

如果 normalize == True ,返回错误分类的比例(浮点数), 否则返回错误分类的数量(整数)。

See also

accuracy_score

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

hamming_loss

计算两组样本之间的平均汉明损失或汉明距离。

jaccard_score

计算 Jaccard 相似系数分数。

Notes

在多标签分类中,zero_one_loss 函数对应于子集零一损失:对于每个样本,必须正确预测整个标签集,否则该样本的损失等于一。

Examples

>>> from sklearn.metrics import zero_one_loss
>>> y_pred = [1, 2, 3, 4]
>>> y_true = [2, 2, 3, 4]
>>> zero_one_loss(y_true, y_pred)
0.25
>>> zero_one_loss(y_true, y_pred, normalize=False)
1.0

在多标签情况下使用二进制标签指示器:

>>> import numpy as np
>>> zero_one_loss(np.array([[0, 1], [1, 1]]), np.ones((2, 2)))
0.5