我无法理解sklearn nDcg的输入格式:http://sklearn.apachecn.org/en/0.19.0/modules/generated/sklearn.metrics.ndcg_score.html
目前我有以下问题:我有多个查询,每个查询的排名概率都计算成功了。但现在的问题是计算测试集的nDCG,我想使用sklearn nDCG。链接上给出的示例
>>> y_true = [1, 0, 2]
>>> y_score = [[0.15, 0.55, 0.2], [0.7, 0.2, 0.1], [0.06, 0.04, 0.9]]
>>> ndcg_score(y_true, y_score, k=2)
1.0
根据网站的说法,你的真实是真实的,你的分数是概率。所以以下是我的问题:
你可以看到它类似于一个多类分类问题。在
所以回答你的问题
一个查询
我将它称为文档的相关标签,因为它可能有重复的值。在
y_score
是属于某个类的文档的概率分布。在您的示例中,y_score = [[0.15, 0.55, 0.2], [0.7, 0.2, 0.1], [0.06, 0.04, 0.9]]
表示第0个文档属于类1(0.55是最大值),第一个文档属于类0(0.7是最大值),第二个文档属于类2(0.9是最大值)。缺少文档,示例也有误导性。如果有四份文件就更好了。在然后,您可以在多个查询中平均每个查询的nDCG分数。在
相关问题 更多 >
编程相关推荐