Apriori算法實例


Apriori算法與實例

R. Agrawal 和 R. Srikant於1994年在文獻【2】中提出了Apriori算法,該算法的描述如下:



下面是一個具體的例子,最開始數據庫里有4條交易,{A、C、D},{B、C、E},{A、B、C、E},{B、E},使用min_support=2作為支持度閾值,最后我們篩選出來的頻繁集為{B、C、E}。



上述例子中,最值得我們從L2C3的這一步。這其實就是在執行偽代碼中第一個藍色框條所標注的地方:Ck+1=GenerateCandidates(Lk),具體來說在Apriori算法中,它所使用的策略如下:


可見生成策略由兩部分組成,首先是self-joining部分。例如,假設我們有一個L3={abc, abd, acd, ace, bcd}(注意這已經是排好序的}。選擇兩個itemsets,它們滿足條件:前k-1個item都相同,但最后一個item不同,把它們組成一個新的Ck+1的項集c。如下圖所示,{abc}和{abd}組成{abcd},{acd}和{ace}組成{acde}。生成策略的第二部分是pruning。對於一個位於Ck+1中的項集csc的大小為k的子集,如果s不存在於Lk中,則將cCk+1中刪除。如下圖所示,因為{acde}的子集{cde}並不存在於L3中,所以我們將{acde}從C4中刪除。最后得到的C4,僅包含一個項集{abcd}。

回到之前的例子,從L2C3的這一步,我們就只能獲得{B、C、E}。以上便是Apriori算法的最核心思想。
 
from:https://blog.csdn.net/baimafujinji/article/details/53456931


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM