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