evaluation.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:sequence-based-recommendations 作者: rdevooght 项目源码 文件源码
def average_ndcg(self):
        ndcg = 0.
        for goal, prediction in self.instances:
            if len(prediction) > 0:
                dcg = 0.
                max_dcg = 0.
                for i, p in enumerate(prediction[:min(len(prediction), self.k)]):
                    if i < len(goal):
                        max_dcg += 1. / np.log2(2 + i)

                    if p in goal:
                        dcg += 1. / np.log2(2 + i)

                ndcg += dcg/max_dcg

        return ndcg / len(self.instances)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号