【问题标题】:If I am using SIMILARITY_LOGLIKELIHOOD (LLR) are item ratings really ignored?如果我使用 SIMILARITY_LOGLIKELIHOOD (LLR),项目评级真的被忽略了吗?
【发布时间】:2015-02-07 08:35:43
【问题描述】:

我使用未更改的电影镜头数据文件 (ml-100k.zip) u.data,因此它具有以下列:用户 ID、电影 ID 和用户评分。

我用过 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 --input u.data --output udata_output

当我查看 udata_output 文件时,我看到推荐的电影 ID 后跟推荐分数,例如:

1226:5.0 和 896:4.798878

推荐分数似乎从 5.0 到 4.x 不等

但是,当我从 u.data 文件中删除用户评分列并重新运行上面相同的命令行时,我收到的结果如下:

615:1.0

所有推荐分数均为 1.0。

2 个问题:

1) 如果 LLR 忽略用户评分,我唯一改变的输入是是否提供用户评分,为什么推荐分数会改变?

2) 总的来说,我正在尝试确定推荐排名,因此我使用的是 LLR。另外我是否应该忽略推荐分数而只关注推荐项目的顺序(例如:第一个项目的排名高于第二个)?

提前致谢。

【问题讨论】:

    标签: hadoop mahout-recommender


    【解决方案1】:

    LLR 不使用优势。该理论是,如果用户实际与项目交互,这就是所有需要的指示。 LLR 将根据称为Log Likelihood Ratio 的概率计算将该交互与其他用户的交互和分数相关联。它确实创造了优势,但只使用了互动次数。

    答案

    1. 这可能是一个错误,也可能是因为您在一种情况下使用了布尔推荐值,而在另一种情况下使用了非布尔值。我可能是推荐人试图通过考虑价值来提供评级。但是,如果您尝试优化排名,这些都不重要
    2. 除非您尝试预测评级,否则您真的不需要查看推荐权重,这在当今很少发生。相信recs的排名。

    顺便说一句,Mahout 现在有了一个全新的推荐系统,它基于使用搜索引擎提供推荐和 Mahout 来计算模型。与旧 Hadoop 版本相比,它具有许多优点,包括:

    1. 多模式:它可以在许多不同的项目集上提取许多不同的用户操作。这允许您使用用户的大部分点击流进行推荐。
    2. 实时结果:它在 Solr 或 Elastic 搜索中具有非常快速的可扩展服务器。
    3. 由于实时性,它可以向新用户或具有最近历史记录的用户推荐。较旧的 Hadoop Mahout 推荐器仅向训练数据中的用户和项目推荐——它们无法对未在训练中使用的历史做出反应。新推荐器可以使用实时收集的数据,甚至是新用户。

    Mahout 1.0-snapshot 或更高版本中的新 Multimodal Recommender 如下所述:

    【讨论】:

    • 再次感谢。另外,我没有意识到我使用的是旧的 Hadoop 版本。我会研究你建议的较新的。
    • 查看 Mahout 1.0-SNAPSHOT。它是一种与 Hadoop 或内存版本完全不同的架构。
    猜你喜欢
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-07
    • 2020-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多