我目前正在学习推荐系统,学习了一些关于协同过滤、用户 CF、项目 CF 的知识,很明显使用这些算法来解决以下问题:1)用户买了 XXX 也买了 YYY 2)用户查看了 XXX 也查看了 YYY
我的问题是:如何解决这样的问题:1)用户购买了 XXX 也查看了 YYY 2)用户查看了 XXX 也购买了 YYY ?
更新:刚刚将标题更正为:“用户购买了XXX 也查看了YYY”
我目前正在学习推荐系统,学习了一些关于协同过滤、用户 CF、项目 CF 的知识,很明显使用这些算法来解决以下问题:1)用户买了 XXX 也买了 YYY 2)用户查看了 XXX 也查看了 YYY
我的问题是:如何解决这样的问题:1)用户购买了 XXX 也查看了 YYY 2)用户查看了 XXX 也购买了 YYY ?
更新:刚刚将标题更正为:“用户购买了XXX 也查看了YYY”
虽然我不确定这是否真的是“推荐”,但我可以告诉您如何在 Mahout 中处理跨域的推荐。您将构建两个DataModel
s,一个基于用户项目购买,一个基于用户项目视图。您将使用购买数据作为UserSimilarity
或ItemSimilarity
实现的输入,但是,然后将视图数据作为输入DataModel
提供给Recommender
实现。然后,您将计算更像您建议的东西。
假设您有两个表 products 和 sold_products。每次您销售产品时,它都会添加到 sold_products 表中。我们会说这两个表是通过product_id 关联的,order_id 用于在sold_products 中将订单分组在一起。
我们假设您正在查看的产品的 product_id 为 1234。
SELECT DISTINCT sold_products.order_id FROM sold_products WHERE product_id=1234 LIMIT 25
例如 PO1234、PO435、PO3456....
SELECT DISTINCT products.* FROM sold_products 在 products.product_id=sold_products.product_id 上选择产品1) DESC
您需要参考OReilly 的“Programming Collective Intelligence”一书的第 2 章。要找到匹配的产品,即“购买此商品的客户也购买了...”部分,您需要
上述步骤涉及算法。该书中提供了更多详细信息以及这些算法的 python 代码。
您通常需要两个数据集。I.e 交易 id 和产品作为第一个,visitorID 和产品查看作为第二个,以达到将任何两种产品一起出售(或查看)的置信度百分比。您可以使用 R(统计软件)并安装一个名为“arules”的包来轻松生成这些建议。
这是您可能希望在 R 中签出的示例代码
setwd(“C:/Documents and Settings/rp/Desktop/output”); install.packages(“arules”); 图书馆(“规则”);txn = read.transactions(file=”Transactions_sample.csv”, rm.duplicates= FALSE, format=”single”,sep=”,”,cols =c(1,2)); 篮子规则 <- apriori(txn,parameter = list(sup = 0.5, conf = 0.9,target=”rules”)); 检查(篮子规则);
如果您真的想了解它是如何工作的,您可能需要查看名为产品购买模式分析的http://www.tatvic.com/resources白皮书,该白皮书指出了如何简单地使用您的网络数据来完成它.
此外,如果您想为其使用现成的 API,请访问http://www.liftsuggest.com/how-lift-product-recommendation-works