基于等级的推荐系统使用NDCG对推荐精度进行评估.然而,有时使用正确率和召回率来评价顶级推荐。这是否意味着当NDCG高,准确率高?但是我运行了一个ListRankMF算法,在movelens 100 k数据集上准确率很低,只有8%左右。NDCG与准确率的关系是什么?
发布于 2017-04-26 10:03:39
当推荐系统的目标是返回一些相关的结果时,NDCG是最有用的,而顺序是非常重要的。例如,推荐翻译,或推荐银行帐户。如果我们错过了相关的结果,这并不是有害的,但是对于一个好的用户体验,我们希望它们是一个有意义的顺序。
当推荐系统的目标是返回所有相关的结果时,回忆是最有用的,而顺序是不重要的。例如,潜在的医疗诊断或处方。如果我们错过相关的结果,那是有害的,因为这可能是正确的诊断或治疗。命令是不重要的,因为我们期望医生阅读所有的可能性,并利用他们的专家知识作出最后的决定。
假设有5种药物,我们可以推荐一位医生给病人(A到E),5种我们不应该推荐(F到J)。我们的推荐系统输出建议A、B、C、D。这给了我们以下评价:
在这个案例中,回忆清楚地表明我们并没有尽力而为(因为我们没有推荐药物E),而NDCG让我们相信我们提出了完美的建议。
如果我们推荐书籍,那么NDCG就更合适了。由于可能有数百本相关的书,所以回忆并不是那么有意义,但我们不能指望一个用户通过一张数百本书的清单来选择一本书来阅读。NDCG会告诉我们,如果我们至少推荐一些有意义的子集什么是可能的。
https://stackoverflow.com/questions/34252298
复制相似问题