1

我正在将 Apache Mahout 的基于用户的协同过滤用于推荐系统。

我有两个问题。

1) UserID 和 ItemID 必须是数字吗?

我的数据模型如下所示:

jessestay,e/4d0b55757114464eb56cdf01bf5d6842,1

其中“jessestay”是用户 ID,“e/4d0b55757114464eb56cdf01bf5d6842”是 itemID,“1”是用户对该项目的偏好值。

如何将 userID 和 ItemID 编码为 int 或 long?

2) 当我使用 UserSimilarity 时,我必须使用内置的欧几里得距离、皮尔逊相关系数或斯皮尔曼相关系数吗?

我可以定义自己的方法来估计 userSimilarity 吗?

这是我第一次使用 Apache Mahout 的协同过滤。

非常感谢您的帮助。期待你的答复!

小神

4

1 回答 1

0

是的,用户和项目 ID 必须是数字。只需将您的值散列为多头。唯一的问题是您必须记住映射回字符串的映射。如果您还有数字 ID,最好使用它们。

是的,只需实施UserSimilarity以定义您想要的任何相似性。

于 2013-05-06T21:10:25.060 回答