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{array-like, sparse matrix} of shape (n_samples, n_labels)

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

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

目标得分,可以是正类的概率估计、置信度值,或非阈值化的决策度量(如某些分类器返回的“decision_function”)。对于decision_function得分,大于或等于零的值应指示正类。

sample_weightshape 为 (n_samples,) 的 array-like, default=None

样本权重。

0.20 版本新增。

返回:
scorefloat

基于排名的平均精度分数。

示例

>>> 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