zero_one_loss#

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

零一分类损失。

如果 normalize 为 True,返回错误分类的比例;否则返回错误分类的数量。最佳性能为 0。

用户指南中了解更多信息。

参数:
y_true1d array-like, or label indicator array / sparse matrix

真实(正确)标签。仅当标签类型为多标签时才支持稀疏矩阵。

y_pred1d array-like, or label indicator array / sparse matrix

预测标签,由分类器返回。仅当标签类型为多标签时才支持稀疏矩阵。

normalizebool, default=True

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

sample_weightshape 为 (n_samples,) 的 array-like, default=None

样本权重。

返回:
loss浮点数

如果 normalize == True,则返回错误分类的比例;否则返回错误分类的数量。

另请参阅

accuracy_score

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

hamming_loss

计算两组样本之间的平均汉明损失(Hamming loss)或汉明距离(Hamming distance)。

jaccard_score

计算 Jaccard 相似系数分数。

注意事项

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

示例

>>> 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