最近上數(shù)據(jù)挖掘的課程,其中學(xué)習(xí)到了頻繁模式挖掘這一章,這章介紹了三種算法,Apriori、FP-Growth和Eclat算法;由于對于不同的數(shù)據(jù)來說,這三種算法的表現(xiàn)不同,所以我們本次就對這三種算法在不同情況下的效率進(jìn)行對比。從而得出適合相應(yīng)算法的情況。
(一)算法原理
其中相應(yīng)的算法原理在之前的博客中都有非常詳細(xì)的介紹,這里就不再贅述,這里給出三種算法大概的介紹
但是這里給出每個算法的關(guān)鍵點(diǎn):
1.1 Apriori算法:
限制候選產(chǎn)生發(fā)現(xiàn)頻繁項(xiàng)集
重要性質(zhì):頻繁項(xiàng)集所有非空子集也一定是頻繁的。
主要步驟:
連接
剪枝
特點(diǎn):需要多次掃描數(shù)據(jù)庫,對于大規(guī)模數(shù)據(jù)效率很低!
Apriori算法原理詳細(xì)介紹:http://www.cnblogs.com/90zeng/p/apriori.html
1.2 FP-Growth算法
通過模式增長挖掘頻繁模式
主要步驟:
構(gòu)建頻繁模式樹
構(gòu)造條件模式基
挖掘頻繁模式
特點(diǎn):兩次掃描數(shù)據(jù)庫,采用分治的策略有效降低搜索開銷
FP-Growth算法原理詳細(xì)介紹:http://www.cnblogs.com/datahunter/p/3903413.html
1.3 Eclat算法
使用垂直格式挖掘頻繁項(xiàng)集
主要步驟:
將數(shù)據(jù)倒排{ item:TID_set }
通過求頻繁k項(xiàng)集的交集來獲取k+1項(xiàng)集
特點(diǎn):僅需要一次掃描數(shù)據(jù)庫,TID集合很長的話需要消耗大量的內(nèi)存和計(jì)算時間
Eclat算法原理詳細(xì)介紹:
網(wǎng)友評論