如何根据购买记录计算相似度?

时间:2016-09-14 18:22:39

标签: mahout-recommender bigdata

我有购买历史数据集。它包含userid,itemid,购买记录。购买记录表示用户购买该商品的次数。

dataset

那么如何根据此数据集计算用户或项目相似度以产生推荐。

3 个答案:

答案 0 :(得分:0)

您可以使用Cos协方差和相关性。

https://github.com/Krewn/KPlot/blob/gh-pages/analysisTools.py

答案 1 :(得分:0)

Mahout具有基于概率对数似然比(LLR)的用户和项目相似性,与其他相似性度量相比,这已被证明具有优越的性能,并且仅名义上是“相似性”,实际上是相关性测试。 Mahout中的LLR为每个检测到的事件(数据集中的行)生成一个分数。这是在带有spark-itemsimilarity作业的“指标”矩阵中收集的。您可以将其与搜索引擎一起使用来创建推荐器或使用我们为PredictionIO创建的推荐器。

PredictionIO是一台机器学习服务器,具有数据库,工作流控制以及存储和计算引擎集成。请参阅Universal Recommender,它在Spark上使用Mahout,是一个功能齐全的端到端推荐器,可以查询基于用户的推荐项。

答案 2 :(得分:0)

您可以使用Spark MLlib算法。 Spark提供 Collaborative filtering - Alternating Least Squares (ALS) 机器学习算法,该算法使用用户,产品和评级进行培训。在您的情况下,评级将是项目购买的计数(用户购买项目的次数)。

您可以按照此处显示的示例Collaborative filtering - ALS直接转到ALS算法。

相关问题