首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何显示NDCG分数的重要性

如何显示NDCG分数的重要性
EN

Stack Overflow用户
提问于 2012-02-28 00:06:31
回答 3查看 6.6K关注 0票数 12

假设我的检索系统的NDCG分数是.8。我该如何解释这个分数。我如何告诉读者这个分数很重要?

EN

回答 3

Stack Overflow用户

发布于 2019-02-11 13:46:07

为了理解这一点,让我们来看一个归一化折扣累积收益(nDCG)的例子。

对于nDCG,我们需要DCG和理想DCG。

让我们先了解什么是累积增益(CG),

代码语言:javascript
复制
Example: Suppose we have [Doc_1, Doc_2, Doc_3, Doc_4, Doc_5]
Doc_1 is 100% relevant
Doc_2 is 70% relevant
Doc_3 is 95% relevant
Doc_4 is 20% relevant
Doc_5 is 100% relevant

因此我们的累积增益(CG)是

代码语言:javascript
复制
CG = 100 + 70 + 95 + 20 + 100  ###(Index of the doc doesn't matter)
   = 385

贴现累积增益(DCG)是

代码语言:javascript
复制
DCG = SUM( relivencyAt(index) / log2(index + 1) ) ###where index 1 -> 5

Doc_1 is 100 / log2(2) = 100.00
Doc_2 is 70  / log2(3) = 044.17
Doc_3 is 95  / log2(4) = 047.50
Doc_4 is 20  / log2(5) = 008.61
Doc_5 is 100 / log2(6) = 038.69

DCG = 100 + 44.17 + 47.5 + 8.61 + 38.69
DCG = 238.97

理想的DCG是

代码语言:javascript
复制
IDCG = Doc_1 , Doc_5, Doc_3, Doc_2, Doc_4

Doc_1 is 100 / log2(2) = 100.00
Doc_5 is 100 / log2(3) = 063.09
Doc_3 is 95  / log2(4) = 047.50
Doc_2 is 75  / log2(5) = 032.30
Doc_4 is 20  / log2(6) = 007.74

IDCG = 100 + 63.09 + 47.5 + 32.30 + 7.74
IDCG = 250.63

nDCG(5) = DCG    / IDCG
        = 238.97 / 250.63
        = 0.95

结论:

在给定的示例中,nDCG为0.95,0.95不是预测精度,0.95是文档的有效排名。因此,增益是从结果列表的顶部到底部累积的,每个结果的增益在较低的级别上打折。

Wiki reference

票数 14
EN

Stack Overflow用户

发布于 2013-06-05 08:27:42

NDCG是一个排名指标。在信息检索字段中,您应该预测经过排序的文档列表,并将其与相关文档列表进行比较。假设您预测了一个包含1000个文档的排序列表,其中有100个相关文档,当100个相关文档在列表中的排名最高时,NDCG等于1。

所以.8 NDCG是最好的排名的80%。

这是一个直观的解释,真正的数学包括一些对数,但离这并不远。

票数 9
EN

Stack Overflow用户

发布于 2016-08-02 01:49:53

如果你有相对较大的样本,你可以使用bootstrap重采样来计算置信区间,这将显示你的NDCG得分是否明显好于零。

此外,您还可以使用成对引导重采样,以便将您的NDCG得分与另一个系统的NDCG得分进行显著比较

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9468151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档