如果我使用的是相似性(llr),那么项目评级真的被忽略了吗?

juzqafwq  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(363)

我使用movie lens数据文件(ml-100k.zip)u.data不变,所以它有以下列:userid、movieid和user rating。
我用了llr:
hadoop jar c:\hdp\mahout-0.9.0.2.1.3.0-1981\core\target\mahout-core-0.9.0.2.1.3.0-1981-job.jar org.apache.mahout.cf.taste.hadoop.item.recommenderjob-s similarity\u loglikelibility--input u.data--output udata output
当我查看udata\u输出文件时,我会看到推荐的电影id,后面是推荐分数,如:
1226:5.0和896:4.798878
推荐分数似乎从5.0到4.x不等
但是,当我从u.data文件中删除用户评级列并重新运行上面的同一命令行时,我收到的结果如下:
615:1.0
所有推荐分数均为1.0。
2个问题:
1) 如果llr忽略了用户评分,而我更改的唯一输入是是否提供用户评分,那么推荐分数为什么会更改?
2) 总的来说,我正在尝试确定推荐排名,所以我使用llr。此外,我是否应该忽略推荐分数,只关注推荐项目的顺序(例如:第一个项目的排名高于第二个)?
提前谢谢。

yptwkmov

yptwkmov1#

llr不使用优势。理论上,如果用户真的与某个项目进行了交互,那么这就是所需的全部指示。llr将把这种交互与其他用户的交互关联起来,并基于称为对数似然比的概率计算得出分数。它确实创造了优势,但只利用了互动的次数。
答案
这可能是一个bug,也可能是因为您在一种情况下使用的是布尔型推荐程序,而在另一种情况下使用的是非布尔型推荐程序。我可能是推荐人试图通过考虑价值观来提供评级。但如果你想优化排名,这些都不重要
你真的不需要看推荐权重,除非你试图预测评级,这在现在很少发生。相信REC的排名。
顺便说一句,mahout现在有了一个全新一代的推荐器,它使用搜索引擎提供推荐,mahout计算模型。与旧版hadoop相比,它有许多好处,包括:
多模式:它可以在许多不同的项目集上接收许多不同的用户操作。这允许您使用用户的大部分点击流来推荐。
实时结果:它在solr或ElasticSearch中有一个非常快速的可扩展服务器。
由于实时性,它可以向新用户或具有最近历史记录的用户推荐。旧的hadoop mahout推荐程序只向用户和培训数据中的项目推荐—它们无法对培训中未使用的历史做出React。新的推荐者可以使用实时收集的数据,即使是对新用户。
mahout 1.0-snapshot或更高版本中的新多模式推荐程序如下所述:
马霍特遗址
一个免费电子书,其中谈到的一般思想:实用的机器学习
幻灯片,讨论混合行动或其他指标:创建统一的多模式推荐人
两篇博文:《推荐人的新特性:第1部分》和《推荐人的新特性:第2部分》
一个描述对数似然比的post:惊喜和巧合llr用于减少数据中的噪声,同时保持计算的o(n)复杂性。

相关问题