我可以定义自己的方法来计算Mahout协同过滤中的UserSimilarity吗?

时间:2013-05-06 20:33:48

标签: mahout similarity collaborative-filtering

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

我有两个问题。

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

我的数据模型如下所示:

jessestay,E / 4d0b55757114464eb56cdf01bf5d6842,1

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

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

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

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

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

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

xiao shen

1 个答案:

答案 0 :(得分:0)

是的,用户和商品ID必须是数字。只需将您的值哈希值为long。唯一的问题是你必须记住映射回映射到字符串。如果您还有数字ID,最好使用它们。

是的,只需实施UserSimilarity即可定义您想要的任何相似度。