标签排序损失#
- 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...)