【发布时间】:2016-11-02 20:15:59
【问题描述】:
我一直按照本文中的步骤通过 mahout 使用 Spark Item Similarity:
https://mahout.apache.org/users/algorithms/intro-cooccurrence-spark.html
我能够清理我的数据,设置一个仅限本地的 spark/hadoop 节点等等。
现在,我的问题更多地依赖于对矩阵的解释。我尝试了一些 Google 查询,但效果有限。
我正在创建一个多模式推荐器 - 我的一个数据集与 Mahout 示例非常相似。
示例输入:
Customer ActionName Product
11064612 view 241505
11086047 purchase 110915
11121878 view CERT_DL
11149030 purchase CERT_FS
11104130 view 111401
mahout 的输出是 2 组矩阵。一个相似矩阵和一个共现矩阵。
这是我的相似度矩阵(我假设 mahout 使用我的“filter1”购买)
**791207-WP** 791520-WP:11.350536461453885 791520:9.547158147208393 76130142:7.938639976084232 711215:7.0641921646893024 751309:6.805891904514283
那么我该如何解释呢?如果有人购买了 791207-WP,他们可能会对 791520-WP 感兴趣吗? (所以我会使用左侧部分来对抗客户的购买并在右侧部分对产品进行排名?)。
791520-WP 的行如下所示:
791520-WP 76151220:18.954662238247693 791604-WP:13.951210170984268
所以,理论上,我会向购买 791520-WP 的人推荐 76151220,对吗?
问题的第 2 部分是解释交叉相似度矩阵。记住我的 filter2 是“views”。
我将如何解释:
**790907** 76120956:14.2824428207241 791500-LXQ2:13.864741460885853 190907:10.735807818360627
我将此矩阵视为“访问 76120956 网页的人最终购买了 790907”。因此,我应该向购买了 76120956 的客户推广 790907,甚至可能在我们的网站上添加这两种产品之间的链接。
还是“访问 790907 网页的人最终购买了 76120956”?
我的计划是不按原样使用这些。我仍将使用 RowSimilarity 和不同的来源对产品进行排名 - 但我缺少对 mahout 输出的基本解释。
如果您知道任何说明这一点的文档,那将是一笔巨大的财富。
谢谢。
【问题讨论】:
标签: apache-spark mahout recommendation-engine mahout-recommender