[英]Efficient algorithms to perform Market Basket Analysis
我想对零售电子商务数据集执行购物篮分析(或关联分析)。
我面临的问题是单月 330 万笔交易的庞大数据量。 我不能减少交易,因为我可能会错过一些产品。 下面提供数据结构:
Order_ID = 唯一交易标识符
Customer_ID = 下订单的客户的标识符
Product_ID = 客户已购买的所有产品的列表
日期 = 销售发生的日期
当我将此数据提供给 Python 中的 #apriori 算法时,我的系统无法处理运行所需的巨大 memory 要求。 它只需 100K 事务即可运行。 我有 16GB 内存。
非常感谢您提出更好(更快)算法的任何帮助。
我也可以使用 SQL 来解决数据大小问题,但我只会得到 1 个前件 --> 1 个后件规则。 有没有办法获得多集规则,例如 {A,B,C} --> {D,E} 即,如果客户购买产品 A、B 和 C,那么很有可能购买产品 D 和 E .
对于庞大的数据量,请尝试FP Growth ,因为它是对 Apriori 方法的改进。 与 Apriori 相比,它也只循环数据两次。
from mlxtend.frequent_patterns import fpgrowth
然后只需更改:
apriori(df, min_support=0.6)
至
fpgrowth(df, min_support=0.6)
还有一项比较每种算法的研究,对于 memory 问题,我推荐: 评估 Apriori、FP 增长和 Eclat 关联规则挖掘算法或比较频繁模式挖掘算法的性能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.