我使用的电影镜头数据文件(ml-100k.zip) u.data没有变化,所以它有列: userID、MovieID和用户评级。
我用了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_LOGLIKELIHOOD --输入u.data -output udata_output
当我查看udata_output文件时,我看到推荐的电影ID后面跟着推荐分数,比如:
1226:5.0和896:4.798878
推荐分数似乎从5.0到4.x不等。
但是,当我从文件中删除用户评等列并重新运行上面相同的命令行时,我收到的结果如下:
615:1.0
所有推荐分数都是1.0分。
2个问题:
1)如果LLR忽略了用户的评分,而唯一的输入就是是否提供用户评分,为什么推荐分数会改变?
2)总的来说,我试图确定推荐排名,所以我使用的是LLR。此外,我是否应该忽略推荐分数,只关注推荐项目的顺序(例如:第一项排名高于第二项)?
提前谢谢。
发布于 2015-02-07 16:24:45
LLR不使用强项。其理论是,如果用户实际与某一项交互,这就是所需的全部指示。LLR将根据一种称为对数似然比的概率计算,将这种交互与其他用户的交互和评分联系起来。它确实创造了优势,但只使用交互的数量。
应答
顺便说一句,马赫特现在有了一个全新的新一代推荐人,其基础是使用搜索引擎来提供推荐服务,使用Mahout来计算模型。与较早的Hadoop版本相比,它有许多优点,包括:
在Mahout1.0-快照或更高版本中的新的多模式推荐器在这里描述:
https://stackoverflow.com/questions/28380144
复制相似问题