[英]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.