【问题标题】:How to use spark ALS for multi-behavior implicit feedback recommendation如何使用 spark ALS 进行多行为隐式反馈推荐
【发布时间】:2017-07-09 15:29:37
【问题描述】:

我想使用 spark ALS 进行多行为隐式反馈推荐。有几种隐式用户行为数据,例如浏览、购物车、交易等。

我检查了许多在线资源以获取 ALS 隐式反馈推荐,但几乎所有资源都只使用单一数据源,在购物案例中,交易数据。

我想知道是只需要交易数据还是利用各种数据以获得更好的结果?

【问题讨论】:

    标签: apache-spark pyspark spark-dataframe apache-spark-mllib recommendation-engine


    【解决方案1】:

    没有通用的、有原则的方法来使用具有多种行为的 ALS。有时使用不同的行为来改变隐含评分——例如,查看一个项目可能价值 0.1,在多个会话中查看可能价值 0.3,将其放入购物车 0.5,购买 1.0。但这感觉有点 hacky,并且不容易提供一种方法来利用您可能拥有的所有数据。

    对于可扩展以处理许多不同功能的更有原则的方法,我会看看Universal Recommender。免责声明:我从未使用过它,我只是觉得它听起来很有希望。

    【讨论】:

      【解决方案2】:

      是的,您最好使用所有交易数据和用户数据。你用ALS获取用户向量和deal向量,然后计算deal和user的相似度,如果user或者deal没有向量,我们就无法得到下一次推荐的相似度。 我做了一个ALS测试,用user和deal的相似度来训练我的模型,这给了我很大的惊喜,auc如下:

      2018-06-05 21:25:28,138 INFO [21:25:28] [58]    test-auc:0.968764   train-auc:0.972966
      2018-06-05 21:25:28,442 INFO [21:25:28] [59]    test-auc:0.968865   train-auc:0.973075
      

      因为我使用所有交易和用户信息来训练模型。但 rmse 是 3.6,也许我应该调整我的参数。

      【讨论】:

      • pearlwang,你应该把你的答案和你的问题分开:把答案的前半部分留在这里,用你的文本的后半部分创建新问题。
      • 是的,你是对的,我很抱歉我没有纪律。当我看到上面的问题时,我有疑问,谢谢
      猜你喜欢
      • 2018-03-09
      • 1970-01-01
      • 2016-03-31
      • 1970-01-01
      • 2016-06-06
      • 1970-01-01
      • 2017-05-05
      • 2015-05-21
      • 1970-01-01
      相关资源
      最近更新 更多