java - Mahout 中 DataModel 与 FileItemSimilarity 的使用

标签 java mahout

我正在构建一个推荐器,其中实际的相似性计算是使用 ItemSimilarityJob 完成的,然后通过 FileItemSimilarity 加载到非分布式推荐器中。

到目前为止,所有这些都有效(2),但有一件事我有点困惑。

在实例化推荐器(GenericItemBasedRecommender)时,我必须传递一个数据模型 - 在我的例子中是 FileDataModel,但由于相似性计算已经发生,我真的不知道什么数据我应该传递到模型中吗?

显然,该模型用于确定最大和最小偏好值以及项目 ID 和用户 ID。关于用户,我计划只拥有匿名的“个人资料”——那么传递虚假数据可以吗?

这如何支持工作 - Mahout 示例 (1) 和 MiA 书没有对此给出任何答案,但两者都表明预计算是可行的方法:(

<小时/>

(1) 我正在 Mahout 0.7 上运行,但也已经研究过 trunk 了。

(2) 当然,我必须自己将生成的相似度矩阵转换为文本格式。

最佳答案

您应该传递用于相似性计算的相同DataModel。推荐器的输出当然是相似性的函数,但是,当然也是原始数据!这就是为什么它是一个输入。

理论上,您可以使用与实际提出建议的数据不同的 DataModel 来构建相似性。这是可能的,并且在某些情况下可能有意义,但不正常。

关于java - Mahout 中 DataModel 与 FileItemSimilarity 的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17389468/

相关文章:

java - 如何触发 MINA 客户端消息事件?

java - 我可以检查字符串是否包含我没有列出的字符吗?

java - 在本地运行 Mahout 获取 MahoutDriver 的 ClassNotFoundException

mysql - 获取具有 3 亿行的概率密度图和 k-means 聚类

java - 在 Jar 文件中获取 xml 文件

java - 无法使用带参数的构造函数 NO_CONSTRUCTOR 实例化 java.util.List]

maven - 如何解决二十个新闻组分类示例中的 "log4j:WARN No appenders could be found for logger"错误

apache - 确定 Mahout LDA 输出上的文档 ID

maven - 错误:无法找到或加载主类org.apache.mahout.driver.MahoutDriver

java - 使用路径绘制多个 View (Android)