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