当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sklearn dcg_score用法及代码示例


本文简要介绍python语言中 sklearn.metrics.dcg_score 的用法。

用法:

sklearn.metrics.dcg_score(y_true, y_score, *, k=None, log_base=2, sample_weight=None, ignore_ties=False)

计算贴现累积收益。

在应用对数折扣后,将按照预测分数诱导的顺序排列的真实分数相加。

如果真正的标签排名靠前 y_score ,则此排名指标会产生高值。

通常首选归一化折扣累积增益(NDCG,由ndcg_score 计算)。

参数

y_truendarray 形状(n_samples,n_labels)

多标签分类的真实目标,或要排名的实体的真实分数。

y_scorendarray 形状(n_samples,n_labels)

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

k整数,默认=无

只考虑排名中最高的 k 分数。如果没有,使用所有输出。

log_base浮点数,默认=2

用于折扣的对数的底。低值意味着更大的折扣(最高结果更重要)。

sample_weightndarray 形状 (n_samples,),默认 = 无

样本权重。如果 None ,所有样本都被赋予相同的权重。

ignore_ties布尔,默认=假

假设 y_score 中没有关系(如果 y_score 是连续的,则可能是这种情况)以提高效率。

返回

discounted_cumulative_gain浮点数

平均样本 DCG 分数。

参考

Wikipedia entry for Discounted Cumulative Gain

Jarvelin, K. 和 Kekalainen, J. (2002)。 IR 技术的基于累积增益的评估。 ACM 信息系统交易 (TOIS),20(4),422-446。

Wang, Y., Wang, L., Li, Y., He, D., Chen, W., & Liu, T. Y.(2013 年 5 月)。 NDCG排名措施的理论分析。在第 26 届学习理论年会论文集(COLT 2013)中。

McSherry, F. 和 Najork, M.(2008 年 3 月)。在存在并列分数的情况下有效地计算信息检索性能度量。在欧洲信息检索会议上(第 414-421 页)。施普林格,柏林,海德堡。

例子

>>> import numpy as np
>>> from sklearn.metrics import dcg_score
>>> # we have groud-truth relevance of some answers to a query:
>>> true_relevance = np.asarray([[10, 0, 0, 1, 5]])
>>> # we predict scores for the answers
>>> scores = np.asarray([[.1, .2, .3, 4, 70]])
>>> dcg_score(true_relevance, scores)
9.49...
>>> # we can set k to truncate the sum; only top k answers contribute
>>> dcg_score(true_relevance, scores, k=2)
5.63...
>>> # now we have some ties in our prediction
>>> scores = np.asarray([[1, 0, 0, 0, 1]])
>>> # by default ties are averaged, so here we get the average true
>>> # relevance of our top predictions: (10 + 5) / 2 = 7.5
>>> dcg_score(true_relevance, scores, k=1)
7.5
>>> # we can choose to ignore ties for faster results, but only
>>> # if we know there aren't ties in our scores, otherwise we get
>>> # wrong results:
>>> dcg_score(true_relevance,
...           scores, k=1, ignore_ties=True)
5.0

相关用法


注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.metrics.dcg_score。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。