标签排序平均精确率评分#

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

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

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

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

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

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

参数:
y_true形状为 (n_samples, n_labels) 的 {array-like, sparse matrix}

采用二元指示符格式的真实二元标签。

y_score形状为 (n_samples, n_labels) 的 array-like

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

sample_weight形状为 (n_samples,) 的 array-like,默认为 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)
np.float64(0.416...)