我跟踪了用户行为数据,1.喜欢2.不喜欢3.评级4.产品浏览5.购买的产品
火花MLlib支持隐含的行为数据,自信得分为0或1,参考(http://spark.apache.org/docs/latest/mllib-collaborative-filtering.html).
例如,用户1查看了产品A,那么模型就像
1,A,1(userId,productId,二进制自信得分)
但通过观察行为的本质,所喜欢的产品比产品所看到的更有信心.购买的产品比观看产品有很强的信心.
如何根据行为类型对数据建模?
实际上,隐含数据不必是0或1.这意味着值被视为关联的置信度或强度,而不是评级.您可以简单地模拟在用户和项目之间显示更高关联的操作,因为它们具有更高的置信度.喜欢比观点更强,购买比同类更强.
事实上,负面信心可以适应这个框架(我知道MLlib实现了这一点).不喜欢可能意味着负面评分.
真正的价值取决于你的价值.如果您没有更好的想法,我认为选择与相对频率相对应的值是合理的.例如,如果页面浏览量通常比喜欢的页面多50倍,那么类似的值可能是页面视图的50倍.