[:N] if truth not in top_N: ndcg_N = 0.0 else: i = top_N.numpy().tolist().index(truth) ndcg_N = 1 / (math.log2((i+1)+1)) return ndcg_N p = torch.argsort(P.unsqueeze(0), dim=1, descending=True) ndcg = NDCG(T, p, 3) print(f'NDCG={ndcg}\n') ->> NDCG=...
3、归一化折损累计增益(Normalized Discounted Cumulative Gain,NDCG 意义:关心找到的这些项目,是否放在用户更显眼的位置里,即强调“顺序性“ 参数说明: N:用户的总数量 pi:第i个用户的真实访问值在推荐列表的位置,若推荐列表不存在该值,则pi-->无穷大 4、平均倒数排名(Mean Reciprocal Rank,MRR) 意义:关心找到的...
MRR = (1/N) * Σ (1/rj)其中N为用户需求项的总数,rj为第j个需求项在推荐列表中的位置,若该需求项未出现在推荐列表中,则rj为0。归一化折损累计增益(NDCG)同样关注需求项在推荐列表中的位置,但考虑了排名的相对顺序。其计算公式为:NDCG = (1/N) * Σ (gi / log2(j+1))其中N为...
即:位置越靠后,缩小的比例就越大 现在的问题是,DCG仅仅是针对一个用户的推荐列表进行评估,但是每个用户的推荐列表长度不是全都一样,那么要在所有用户之间横向比较的话需要将数据归一化,即引入NDCG. N D C G u @ K = D C G u @ K I D C G u NDCG_u@K=\frac{DCG_u@K}{IDCG_u}NDCGu@K=...
夏未眠:推荐系统中的常用评价指标:NDCG,Recall,AUC,GAUC133 赞同 · 15 评论文章 MRR 平均倒数排名(Mean Reciprocal Rank,MRR),该指标反应的是我们找到的这些item是否摆在用户更明显的位置,强调位置关系,顺序性。公式如下,N表示推荐次数,pi表示用户真实访问的item在推荐列表中的位置,如果没在推荐序列中,则p为无穷...
MRR 平均倒数排名(Mean Reciprocal Rank,MRR),该指标反应的是我们找到的这些item是否摆在用户更明显的位置,强调位置关系,顺序性。公式如下,N表示推荐次数,pi 表示用户真实访问的item在推荐列表中的位置,如果没在推荐序列中,则p为无穷大,1/p为0。MRR=1NN∑i=11pi 举个栗子:假如我们取top-5,推荐[1,2,3,4,...
ndcgOhSaQehz6j1oZWjtqTiD4I/qr7Vg+8/ +lU/b7G5cuDzUfY+9GmVZVliH29YUjvw/mhZ+vdT/35aMsbm+/daC/1shhhrbxKOlg== 6DDE6kJftX6R6N/dUSqxzwzrgMsV+88xr9hKRr/V1YLlDMGXerC25i/oWt1/p37T+8mLW1qZmOCn n35yevrm8m/Xt8OYb6dRzkHfIhyFPtnFZY+v51RqpfufjvwSKwbQfHYJQyylj7Ae5ZpawQ7mJYWD ...