我正在构建一个推荐器,其中使用ItemSimilarityJob完成实际的相似度计算,然后通过FileItemSimilarity将其加载到非分布式推荐器中。
到目前为止所有这些工作(2),但有一件事我有点困惑。
在实例化推荐器(GenericItemBasedRecommender)时,我要传递一个数据模型 - 在我的情况下是FileDataModel,但是由于相似度计算已经发生,我真的不知道是什么数据我应该进入模型?
显然,该模型用于确定最大和最小偏好值以及项目和用户ID。关于用户我打算只有匿名的“个人资料” - 那么传递虚假数据是否可以呢?
如何支持工作 - Mahout示例(1)和MiA书籍没有给出任何答案,但两者都说预先计算是要走的路:(
(1)我正在使用Mahout 0.7,但也已经查看了主干。
(2)当然,我必须自己将生成的相似性矩阵转换为文本格式。
答案 0 :(得分:1)
您应该将相同的DataModel
传递给相似度计算。推荐者的输出肯定是相似性的函数,但当然也是原始数据!这就是为什么它是一个输入。
理论上,您可以从与实际提出建议的数据不同的DataModel
建立相似性。在某些情况下这是可能的,也可能有意义但不正常。