频繁项集与关联规则Frequent Itemset Mining and Association Rules、A-Priori算法 , PCY算法
目標:尋找大量客戶通常共同購買的項目
方法:使用收集的銷售數據尋找頻繁項集
頻繁項集 Frequent Itemset
一個經典規則:如果有人買尿布和牛奶,那么他/她很可能買啤酒!
購物籃模型:描述兩類對象的多對多關系。
項:商場中的不同商品
購物籃:每個顧客購買的商品總和
支持度support:指包含項集I的購物籃個數
通常我們會設置一個閾值S(support threshold)。如果項集I的支持度(I的子集)≥ S,那么I是頻繁項集。
關聯規則 Association Rules
可信度/置信度 confidence:
強關聯規則:
設置最小置信度閾值,當置信度大于或等于置信度閾值時可稱為強關聯規則。強關聯規則才是真正有用的!
興趣度:
A-Priori算法:尋找頻繁項集
A-Priori算法的目的是為了降低尋找頻繁集與關聯規則時對于內存與時間的消耗,適用于大量數據。
算法通過頻繁K-1項集求頻繁K項集。
開始 -> 候選一項集C1(所有的元素) -> 計算C1中每項的支持度是否大于閾值,從而確定頻繁一項集L1 -> 候選二項集C2 -> 計算C1中每項的支持度是否大于閾值,從而確定頻繁二項集L2 -> 候選三項集C3 -> 計算C3中每項的支持度是否大于閾值,從而確定頻繁二項集L3 -> 候選四項集C4 -> 計算C4中每項的支持度是否大于閾值,從而確定頻繁二項集L4 ·······直到最后沒有候選集為止。
但是在由L2到C3過程中,本應該出現的{1 2 3}沒有出現。為什么呢?因為我們還有兩個性質幫助我們可以直接舍棄{1 2 3},如下所示。
因為{1 2 3}的子集{1 2}是非頻繁的,因此他的超集也是非頻繁的。故不需要計算又節省了空間,嘻嘻。
PCY算法
PCY算法由Park等人提出。他們發現尋找頻繁項集過程中主要計算花在了尋找頻繁二項集,因此他們引用散列技術來尋找頻繁二項集。PCY算法進一步降低了對于內存與時間的消耗,適用于大量數據。
在尋找到頻繁2項集以后,接下來再找k頻繁集和Apriori算法一樣了。
總結
以上是生活随笔為你收集整理的频繁项集与关联规则Frequent Itemset Mining and Association Rules、A-Priori算法 , PCY算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS开发之地图代理不起作用(提示vIm
- 下一篇: 人工神经网络优化算法,进化算法优化神经网