首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算AUC(曲线下面积)用于推荐系统评估

如何计算AUC(曲线下面积)用于推荐系统评估
EN

Stack Overflow用户
提问于 2017-01-20 14:49:26
回答 1查看 4.8K关注 0票数 8

我对计算AUC (曲线下面积)来评估推荐系统的结果感到困惑。

如果我们有交叉验证数据,比如(用户,产品,评级)。如何为每个用户选择正负样本来计算AUC?

选择每个用户在数据集中出现的产品作为正样本,其余不出现在数据集中的产品作为负样本,这样好吗?我认为这种方式不能发现那些“真正的”负样本,因为用户有机会喜欢那些负样本中的产品。

EN

回答 1

Stack Overflow用户

发布于 2017-01-26 01:37:40

“ROC曲线将召回率(真阳性率)与增加推荐集大小的后果(假阳性率)进行比较。”Schröder, Thiele, and Lehner 2011 (PDF)

通常,您将保留一部分数据作为测试数据。对于特定的用户,您将对其80%的数据进行训练,并尝试根据剩余的20%的数据来预测(在数据集中的所有项目中)她将对哪些项目表现出偏好。

假设你正在构建一个排名前20的推荐器。您推荐给用户的20个项目是正面项目,不推荐项目是负面项目。因此,真正积极的项目是您在Top-N列表中显示的项目,这些项目与用户在她的坚持测试集中首选的项目相匹配。假阳性是Top-N列表中与她的坚持测试集中的首选项目不匹配的项目。真正的负面项目是那些你没有包括在Top-N推荐中的项目,也是用户在她的坚持测试集中没有出现在她的首选项目中的项目。和假阴性是你没有包括在你的Top-N推荐中的项目,但确实匹配用户在她的坚持测试集中的偏好。这就是混淆矩阵。现在你可以改变你推荐的物品的数量,计算每个物品的混淆矩阵,计算每个物品的召回和余波,并绘制ROC。

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

https://stackoverflow.com/questions/41757653

复制
相关文章

相似问题

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