label_ranking_average_precision_score#

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

计算基于排序的平均精确率。

标签排序平均精确率 (LRAP) 是对分配给每个样本的每个真实标签进行平均,计算真实标签与得分较低的总标签之比。

该指标用于多标签排序问题,其目标是为与每个样本关联的标签赋予更好的排名。

获得的分数始终严格大于0,最佳值为1。

用户指南中阅读更多内容。

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

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

y_score形如 (n_samples, n_labels) 的类数组

目标分数,可以是正类的概率估计、置信值,或未经过阈值处理的决策度量(某些分类器上的“decision_function”返回的值)。对于 decision_function 分数,大于或等于零的值应表示正类。

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

样本权重。

0.20 版本新增。

返回:
score浮点型

基于排序的平均精确率分数。

示例

>>> import numpy as np
>>> from sklearn.metrics import label_ranking_average_precision_score
>>> y_true = np.array([[1, 0, 0], [0, 0, 1]])
>>> y_score = np.array([[0.75, 0.5, 1], [1, 0.2, 0.1]])
>>> label_ranking_average_precision_score(y_true, y_score)
0.416