【问题标题】:Apache Mahout modified abstract similarity .. To incorporate trust network .. Need suggestionsApache Mahout 修改了抽象相似性.. 合并信任网络.. 需要建议
【发布时间】:2014-08-05 16:49:27
【问题描述】:

我已经修改了 AbstractSimilarity 类/UserSimilarity 方法如下:

Collection c = multiMap.get(user1);
if(c.contains(user2)){
result = result+0.50;
}

我使用具有两个文件的 epinions 数据集。一个具有 userid、itemid、rating 和一个存储在上面的 multimap 中的信任网络 user-user。评级集在数据模型上。

最后:如果用户在请求推荐的用户的信任网络上,我想为用户添加一个值(例如 +0.50)。

使用两个数据模型会更好吗?

感谢

【问题讨论】:

    标签: mahout similarity trust


    【解决方案1】:

    您在推荐器中遇到了一个非常有趣的话题:多模式或多动作推荐器。它们解决了同一用户有多个操作的问题,以及如何使用数据来推荐使用所有可用数据的主要操作。例如如何使用购买和页面浏览数据推荐购买。

    使用 epinions 对您来说是一种很好的直觉。问题是个人用户的信任和评级之间可能没有相关性。您在此处使用的一般技术是通过使用多动作指示器来关联这两位数据。仅添加权重可能几乎没有影响,并且在您自己的真实数据中甚至会产生负面影响。

    快照 Mahout 1.0 有一个新的 spark-itemsimilarity CLI 作业(您也可以像使用库一样使用它),它执行两个操作并将第二个操作与第一个操作相关联,生成两个“指标”输出。主要操作是您要推荐的操作,在这种情况下推荐个人可能喜欢的人。次要动作可以是任何东西,但必须具有共同的用户 ID,在 epinions 中它是信任动作。实际上,epinions 数据就是用来测试这种技术的。

    通过spark-itemsimilarity 运行两个输入将产生一个“indicator-matrix”和一个“cross-indicator-matrix”这些是任何“cooccurrence”推荐器的核心。如果您想了解有关此技术的更多信息,我建议您将其添加到 Mahout 邮件列表中:user@mahout.apache.org

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-14
      • 1970-01-01
      • 2013-12-23
      • 1970-01-01
      • 2017-11-14
      • 2020-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多