Apriori演算法與FP Tree演算法

2021-08-22 07:19:41 字數 2377 閱讀 2075

apriori演算法是常用的用於挖掘出資料關聯規則的演算法,它用來找出資料值中頻繁出現的資料集合,找出這些集合的模式有助於我們做一些決策。比如在常見的超市購物資料集,或者電商的網購資料集中,如果我們找到了頻繁出現的資料集,那麼對於超市,我們可以優化產品的位置擺放,對於電商,我們可以優化商品所在的倉庫位置,達到節約成本,增加經濟效益的目的。下面我們就對apriori演算法做乙個總結。

支援度來作為我們判斷頻繁項集的標準

輸入:資料集合d,支援度閾值α輸出:最大的頻繁k項集

1)掃瞄整個資料集,得到所有出現過的資料,作為候選頻繁1項集。k=1,頻繁0項集為空集。

2)挖掘頻繁k項集

a) 掃瞄資料計算候選頻繁k項集的支援度

b) 去除候選頻繁k項集中支援度低於閾值的資料集,得到頻繁k項集。如果得到的頻繁k項集為空,則直接返回頻繁k-1項集的集合作為演算法結果,演算法結束。如果得到的頻繁k項集只有一項,則直接返回頻繁k項集的集合作為演算法結果,演算法結束。

c) 基於頻繁k項集,連線生成候選頻繁k+1項集。

3) 令k=k+1,轉入步驟2。

從演算法的步驟可以看出,aprior演算法每輪迭代都要掃瞄資料集,因此在資料集很大,資料種類很多的時候,演算法效率很低。

aprior演算法是乙個非常經典的頻繁項集的挖掘演算法,很多演算法都是基於aprior演算法而產生的,包括fp-tree,gsp, cba等。這些演算法利用了aprior演算法的思想,但是對演算法做了改進,資料探勘效率更好一些,因此現在一般很少直接用aprior演算法來挖掘資料了,但是理解aprior演算法是理解其它aprior類演算法的前提,同時演算法本身也不複雜,因此值得好好研究一番。

fp tree演算法(也稱fp growth演算法)採用了一些技巧,無論多少資料,只需要掃瞄兩次資料集,因此提高了演算法執行的效率。

項頭表的建立—>fp tree的建立—>fp tree的挖掘

項頭表的建立

fp tree的建立

fp tree的挖掘

得到f的頻繁2項集為, , , 。遞迴合併二項集,得到頻繁三項集為,,…還有一些頻繁三項集,就不寫了。當然一直遞迴下去,最大的頻繁項集為頻繁5項集,為

求出a,c,e,g,b,d,f的挖掘項,進行比較

得到了所有的頻繁項集,如果我們只是要最大的頻繁k項集,從上面的分析可以看到,最大的頻繁項集為5項集。包括。

1)掃瞄資料,得到所有頻繁一項集的的計數。然後刪除支援度低於閾值的項,將1項頻繁集放入項頭表,並按照支援度降序排列。

2)掃瞄資料,將讀到的原始資料剔除非頻繁1項集,並按照支援度降序排列。

3)讀入排序後的資料集,插入fp樹,插入時按照排序後的順序,插入fp樹中,排序靠前的節點是祖先節點,而靠後的是子孫節點。如果有共用的祖先,則對應的公用祖先節點計數加1。插入後,如果有新節點出現,則項頭表對應的節點會通過節點鍊錶鏈結上新節點。直到所有的資料都插入到fp樹後,fp樹的建立完成。

4)從項頭表的底部項依次向上找到項頭表項對應的條件模式基。從條件模式基遞迴挖掘得到項頭表項項的頻繁項集。

5)如果不限制頻繁項集的項數,則返回步驟4所有的頻繁項集,否則只返回滿足項數要求的頻繁項集。

fp tree演算法改進了apriori演算法的i/o瓶頸,巧妙的利用了樹結構,這讓我們想起了birch聚類,birch聚類也是巧妙的利用了樹結構來提高演算法執行速度。利用記憶體資料結構以空間換時間是常用的提高演算法執行時間瓶頸的辦法。

在實踐中,fp tree演算法是可以用於生產環境的關聯演算法,而apriori演算法則做為先驅,起著關聯演算法指明燈的作用。除了fp tree,像gsp,cba之類的演算法都是apriori派系的。

Apriori演算法小結

1 apriori演算法是一種挖掘關聯規則的頻繁項集演算法,其核心思想是通過候選集生成挖掘頻繁項集。2 步驟 3 概念 對於a b 支援度 support p a b 既有a又有b 的概率 置信度 p b a p ab p a 在a 發生的事件中同時發生 b的概率 例如購物籃分析 牛奶 麵包例子 支...

Apriori演算法整理

首先兩個基本概念 支援度 a事件和b事件同時發生的概率 置信度 在a發生的事件中同時發生b的概率,p b a p ab p a 例子 支援度 3 置信度 40 支援度3 意味著 3 顧客同時購買牛奶和麵包 置信度40 意味著購買牛奶的顧客 40 也購買麵包 智慧型商場模型 目標是找到經常一起購買的物...

Apriori演算法解析

摘要 本演算法主要應用於關聯分析問題 啤酒與尿布 它使用基於支援度的剪枝技術,系統的控制候選集指數增長。關聯規則是形如x y的蘊涵表示式,其中x和y是不相交的項集,即x y 支援度 s s x y count x y n 置信度 c c x y count x y count x count 表示支...