古詩詞大全網 - 漢語詞典 - apriori算法

apriori算法

Apriori算法是第壹個關聯規則挖掘算法,也是最經典的算法。它利用逐層搜索的叠代方法找出數據庫中項集的關系,以形成規則,其過程由連接(類矩陣運算)與剪枝(去掉那些沒必要的中間結果)組成。

該算法的基本思想是:首先找出所有的頻集,這些項集出現的頻繁性至少和預定義的最小支持度壹樣。然後由頻集產生強關聯規則,這些規則必須滿足最小支持度和最小可信度。

然後使用第1步找到的頻集產生期望的規則,產生只包含集合的項的所有規則,其中每壹條規則的右部只有壹項,這裏采用的是中規則的定義。壹旦這些規則被生成,那麽只有那些大於用戶給定的最小可信度的規則才被留下來。為了生成所有頻集,使用了遞歸的方法。

(1) L1 = find_frequent_1-itemsets(D);

(2) for (k=2;Lk-1 ≠Φ ;k++) {

(3) Ck = apriori_gen(Lk-1 ,min_sup);

(4) for each transaction t ∈?D?{//scan D for counts

(5) Ct = subset(Ck,t);//get the subsets of t that are candidates

(6) for each candidate c ∈ Ct

(7) c.count++;

(8)?}

(9) Lk ={c ∈ Ck|c.count≥min_sup}

(10)?}

(11) return L= ∪ k Lk;

可能產生大量的候選集,以及可能需要重復掃描數據庫,是Apriori算法的兩大缺點。