标签排序损失#

sklearn.metrics.label_ranking_loss(y_true, y_score, *, sample_weight=None)[source]#

计算排序损失度量。

计算给定 y_score 的错误排序标签对的平均数量,该数量根据标签集的大小和不在标签集中的标签数量进行加权。

这类似于错误集大小,但根据相关和不相关标签的数量进行加权。当排序损失为零时,性能最佳。

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

0.17版本新增: 函数 label_ranking_loss

参数:
y_true形状为 (n_samples, n_labels) 的 {数组类,稀疏矩阵}

以二元指示符格式表示的真实二元标签。

y_score形状为 (n_samples, n_labels) 的数组类

目标分数,可以是正类的概率估计、置信度值或决策的非阈值度量(某些分类器上的“decision_function”返回)。

sample_weight形状为 (n_samples,) 的数组类,默认为 None

样本权重。

返回值:
loss浮点数

给定 y_score 的错误排序标签对的平均数量,该数量根据标签集的大小和不在标签集中的标签数量进行加权。

参考文献

[1]

Tsoumakas, G., Katakis, I., & Vlahavas, I. (2010). Mining multi-label data. In Data mining and knowledge discovery handbook (pp. 667-685). Springer US.

示例

>>> from sklearn.metrics import label_ranking_loss
>>> y_true = [[1, 0, 0], [0, 0, 1]]
>>> y_score = [[0.75, 0.5, 1], [1, 0.2, 0.1]]
>>> label_ranking_loss(y_true, y_score)
np.float64(0.75...)