• 沒有找到結果。

關聯規則的相關探勘方法

2. 文獻探討

2.3. 關聯規則的相關探勘方法

Apriori 演算法最主要的概念,就是從候選項目中藉著掃一次資料庫,找出 大於或等於使用者所定義之最小支持度限制者,稱之為高頻項目;再以高頻項 目(Frequent k Itemsets)結合成候選項目集(Candidate k+1 Itemsets),如此重複的運 算直到無法找到高頻項目集為止。

的成本在掃瞄資料庫上,造成整個系統沈重的負荷,因此Savasere等學者提出了 Partition演算法[26]。Partition 演算法主要分成二個步驟:

(1). 首先根據系統記憶體的大小,將資料庫分成n 個大小相等的區塊,每個區塊 都適合存放在記憶體,再將每個區塊的資料用Apriori 演算分別產生各個區 塊的高頻項目 (Local Large Itemset)。

(2). 連結所有區塊的高頻項目,形成全區的候選項目集 (Global Candidate set),

然後再掃描一次資料庫,計算出全區候選項目集的支持度,找出所有高頻項 目集。

Partition演算法主要的概念仍是由Apriori 演算法延伸而來。在驗証常見項目 集以及推導關聯規則等部份,都與Apriori 演算法大同小異。而Partition 演算法 企圖改進的便是要減少掃瞄資料庫所花費的成本,進而提昇效能。最主要的差 異在於,Partition 演算法將資料分成許多的區段,使得每個區段都能容納於主 記憶體中。利用這個分割區段的特性,可以減少掃瞄資料庫所花費的成本,僅 需掃瞄2次資料庫即可求得所有的常見項目集。

2.3.4. FP-tree 演算法

Apriori 演算法在運算時,第一會產生大量的候選項目集,第二則是需要多 次掃描資料庫,因此為了解決Apriori 演算法的兩個嚴重瓶頸,學者 Han 與 Yin [18]於 2000 年提出利用樹狀結構來儲存高頻項目集的資訊,提出一個不需產生 候選項目集的關聯式規則探勘方法,稱之為 FP-tree(Frequent-pattern tree)演算 法。而FP-tree 演算法僅需掃瞄兩次資料庫,便能建立一棵記錄資料項目關聯性 的樹,經由樹的走訪便能夠找到所有的常見型樣。

因 FP-Tree 只需要掃瞄二次資料庫,第一次掃瞄找出長度為 1 符合門檻值 的高頻項目,然後將出現的高頻項目依照出現的頻率由大到小排序,建立Header table。再第二次掃瞄資料庫,依據 Header table 過濾掉資料庫中低於門檻的項目 集。大幅改善型樣探勘的效率,而FP-Tree 目前是最快的演算法之一。

2.3.5. DIC 演算法

Partiton 演算法在掃描資料庫時,每ㄧ次只能計算一個候選項目集的支持 度,效率並不夠好,因此Brin 所提出的 DIC(Dynamic Itemset Counting)[9]演算 法,是延伸 Partiton 演算法,如同 Apriori 的階層式搜尋方式,而其不同之處在 於 DIC 演算法將資料庫分成幾個區段,在資料庫搜尋時,若一候選項目集在一 區段中已經達到最小支持度的門檻,就直接加入 Lk成為高頻項目集,且這個候 選項目集就在這個區段後停止搜尋,反之若沒有在區段內達到最小支持度的門 檻,這個 Ck會在下一個區段繼續搜尋,直到所有區域的資料完畢為止。這種方 式可以減少資料庫的搜尋量,然而,即使是最差的狀況下,資料掃瞄次數也會 與 Apriori 演算法相同,不過 DIC 演算法要花費較大的空間來儲存先產生的 Lk

和Ck

目前資料探勘的技術已成功運用在諸多領域中,為因應各種可能的資料類 型而衍生了各種資料探勘的技術,上述列出的演算法僅僅只是基本的幾種類 型,期望能讓欲使用資料探勘挖掘資訊的使用者都能依其需要選擇最適合自己 的探勘技術以達到最佳的效果。

相關文件