最近上數(shù)據(jù)挖掘的課程,其中學習到了頻繁模式挖掘這一章,這章介紹了三種算法,Apriori、FP-Growth和Eclat算法;由于對于不同的數(shù)據(jù)來說,這三種算法的表現(xiàn)不同,所以我們本次就對這三種算法在不同情況下的效率進行對比。從而得出適合相應算法的情況。

(一)算法原理

其中相應的算法原理在之前的博客中都有非常詳細的介紹,這里就不再贅述,這里給出三種算法大概的介紹

但是這里給出每個算法的關鍵點:

1.1 Apriori算法:

  • 限制候選產(chǎn)生發(fā)現(xiàn)頻繁項集

  • 重要性質:頻繁項集所有非空子集也一定是頻繁的。

  • 主要步驟:

  1. 連接

  2. 剪枝

  • 特點:需要多次掃描數(shù)據(jù)庫,對于大規(guī)模數(shù)據(jù)效率很低!

Apriori算法原理詳細介紹:http://www.cnblogs.com/90zeng/p/apriori.html

1.2 FP-Growth算法

  • 通過模式增長挖掘頻繁模式

  • 主要步驟:

  1. 構建頻繁模式樹

  2. 構造條件模式基

  3. 挖掘頻繁模式

  • 特點:兩次掃描數(shù)據(jù)庫,采用分治的策略有效降低搜索開銷

FP-Growth算法原理詳細介紹:http://www.cnblogs.com/datahunter/p/3903413.html

1.3 Eclat算法

  • 使用垂直格式挖掘頻繁項集

  • 主要步驟:

  1. 將數(shù)據(jù)倒排{ item:TID_set }

  2. 通過求頻繁k項集的交集來獲取k+1項集

  • 特點:僅需要一次掃描數(shù)據(jù)庫,TID集合很長的話需要消耗大量的內存和計算時間

Eclat算法原理詳細介紹:

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設計培訓,網(wǎng)站建設培訓學習是年輕人改變自己的最好方式