4

我一直在关注用户行为数据,1. 喜欢 2. 不喜欢 3. 评分 4. 浏览过的产品 5. 购买过的产品

spark MLlib 支持置信度为 0 或 1 的隐式行为数据,参考 ( http://spark.apache.org/docs/latest/mllib-collaborative-filtering.html )。

例如,用户 1 查看了产品 A,那么模型将类似于

1,A,1(userId、productId、二进制置信度)

但是通过观察行为的性质,被喜欢的产品比被观看的产品更有信心。购买的产品比查看的产品更有信心。

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

4

1 回答 1

6

实际上隐含数据不一定是 0 或 1。这意味着这些值被视为置信度或关联强度,而不是评级。您可以简单地将显示用户和项目之间更高关联的操作建模为具有更高的置信度。点赞强于观点,购买强于点赞。

事实上,负置信度可以融入这个框架(我知道 MLlib 实现了这一点)。不喜欢可能意味着负分。

实际上,这些值是由您决定的。如果您没有更好的主意,我认为选择与相对频率相对应的值是合理的。例如,如果页面浏览量通常比赞多 50 倍,那么赞的价值可能是页面浏览量的 50 倍。

于 2014-07-26T00:24:17.427 回答