最近剛上了資料探勘這門課,老師講了兩個演算法,即apriori演算法和fp-growth演算法,然後布置了上機作業,挖掘乙個有8萬行的記錄的retail.dat,需要從中找出強規則,即同時滿足最小支援度和最小置信度的規則。
在這裡給出乙個實現找出所有頻繁模式集的c++**,其中主要使用的儲存結構是二維陣列,有點簡陋,湊合著看看。
另外,這個版本是剛寫出來初始版本,自連線之後沒有修剪步驟,而是直接掃瞄資料庫,所以效率偏低。
這個版本測試時用的最小支援度是2000,這個支援度比較大,所以輸出結果還是較快的。不過如果最小支援度設為1000以下的話,那麼執行速度就差了很多。
改進之後增加了修剪步驟的演算法執行速度在最小支援度較低時執行速度明顯加快,但是還是耗時較長。
可以看到,在最小支援度在500時,改進後的演算法提公升了一分多鐘,因此修剪對於apriori演算法來說是很重要的一步。
C 實現apriori演算法
include stdafx.h include include include define t 2 最小支援度 define m 9 樣本數 define n 5 資料項數 using namespace std 候選頻繁項集 維數,頻度,具體資料,獲取頻度 class freq item vo...
Apriori演算法的C 實現
include using namespace std 1.若x為頻繁專案集,則x的所有子集都是頻繁專案集 2.若x為非頻繁專案集,則x的所有超集均為非頻繁專案集 int min sup 最小支援度 vector item 儲存最開始的事務及其項 map,int k item 頻繁k項集 map,i...
Apriori演算法Matlab實現
clc clear 最小支援度設定 min sup 2 最小置信度 min conf 0.7 讀取檔案,當前的檔案型別是txt檔案,事務資料用數字來表示的,測試資料可以用 資料探勘概念與技術 第三版中的資料為樣本 fid fopen d matlabfile apriori dataapriori....