模型推荐引擎的隐式和显式行为数据

时间:2014-07-25 23:14:37

标签: apache-spark apache-spark-mllib recommendation-engine collaborative-filtering

我关注了用户行为数据, 喜欢 2.不喜欢 评级 4.查看产品 5.购买的产品

火花MLlib支持隐含行为数据,自信分数为0或1,Ref(http://spark.apache.org/docs/latest/mllib-collaborative-filtering.html)。

例如,用户1查看了产品A,那么模型就像

1,A,1(userId,productId,二进制自信得分)

但是,通过观察行为的本质,​​喜欢的产品比产品观看具有强烈的信心。购买的产品比观看产品有很强的信心。

如何根据行为类型对数据建模?

1 个答案:

答案 0 :(得分:6)

实际上,隐含数据不必是0或1.这意味着将值视为置信度或关联强度,而不是评级。您可以简单地模拟在用户和项目之间显示更高关联的操作,因为它们具有更高的置信度。喜欢比观点更强大,购买比同类更强。

事实上,负面信心可以适应这个框架(我知道MLlib实现了这一点)。不喜欢可能意味着负面评分。

值得你去调整的是什么。如果您没有更好的想法,我认为选择与相对频率相对应的值是合理的。例如,如果页面浏览量通常比喜欢的页面多50倍,那么类似的值可能是页面视图的50倍。