我正在使用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答案 0 :(得分:0)
是的,用户和商品ID必须是数字。只需将您的值哈希值为long。唯一的问题是你必须记住映射回映射到字符串。如果您还有数字ID,最好使用它们。
是的,只需实施UserSimilarity
即可定义您想要的任何相似度。