關聯規則挖掘 - 概述

一 定義

根據韓家煒等觀點,關聯規則定義爲:
假設是I={i1,i2...im}項的集合。給定一個交易數據庫D,其中每個事務(Transaction)t是 I 的非空子集,即,每一個交易都與一個唯一的標識符TID(Transaction ID)對應。關聯規則在D中的支持度(support)是D中事務同時包含X、Y的百分比,即概率;置信度(confidence)是D中事務已經包含X的情況下,包含Y的百分比,即條件概率。如果滿足最小支持度閾值和最小置信度閾值,則認爲關聯規則是有趣的。這些閾值是根據挖掘需要人爲設定。

二 過程

關聯規則挖掘過程主要包含兩個階段:

第一階段,從數據集合中找出所有的高頻項目組(Frequent Itemsets);

關聯規則挖掘的第一階段必須從原始資料集合中,找出所有高頻項目組(Large Itemsets)。高頻的意思是指某一項目組出現的頻率相對於所有記錄而言,必須達到某一水平。一項目組出現的頻率稱爲支持度(Support),以一個包含A與B兩個項目的2-itemset爲例,我們可以經由公式(1)求得包含{A,B}項目組的支持度,若支持度大於等於所設定的最小支持度(Minimum Support)門檻值時,則{A,B}稱爲高頻項目組。一個滿足最小支持度的k-itemset,則稱爲高頻k-項目組(Frequent k-itemset),一般表示爲Large k或Frequent k。算法並從Large k的項目組中再產生Large k+1,直到無法再找到更長的高頻項目組爲止。

第二階段,由這些高頻項目組中產生關聯規則(Association Rules)。

關聯規則挖掘的第二階段是要產生關聯規則(Association Rules)。從高頻項目組產生關聯規則,是利用前一步驟的高頻k-項目組來產生規則,在最小信賴度(Minimum Confidence)的條件門檻下,若一規則所求得的信賴度滿足最小信賴度,稱此規則爲關聯規則。例如:經由高頻k-項目組{A,B}所產生的規則AB,其信賴度可經由公式(2)求得,若信賴度大於等於最小信賴度,則稱AB爲關聯規則。

三 算法
1 Apriori算法:使用候選項集找頻繁項集

Apriori算法是R.Agrawal和R.Srikant與1994年提出的爲布爾關聯規則挖掘頻繁項集的原創性算法。算法的名字(先驗的、推測的)基於這樣的事實:算法使用頻繁相機性質的先驗知識。使用逐層搜索的迭代方法,k項集用於搜索(k+1)項集。首先,通過掃描數據庫,累積每個項的計數,並收集滿足最小值尺度的想,找出頻繁1項集的集合。該集合記作L1。然後L1用於找頻繁2項集的集合L2,L2用於找L3,如此下去,直到不能再找到頻繁k項集。

Apriori性質:頻繁項集的所有非空子集也必須是頻繁的。

其核心是基於兩階段頻集思想的遞推算法。該關聯規則在分類上屬於單維、單層、布爾關聯規則。在這裏,所有支持度大於最小支持度的項集稱爲頻繁項集,簡稱頻集。

該算法的基本思想是:首先找出所有的頻集,這些項集出現的頻繁性至少和預定義的最小支持度一樣。

然後由頻集產生強關聯規則,這些規則必須滿足最小支持度和最小可信度。然後使用第1步找到的頻集產生期望的規則,產生只包含集合的項的所有規則,其中每一條規則的右部只有一項,這裏採用的是中規則的定義。一旦這些規則被生成,那麼只有那些大於用戶給定的最小可信度的規則才被留下來。爲了生成所有頻集,使用了遞推的方法。

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

2 基於劃分的算法
Savasere等設計了一個基於劃分的算法。這個算法先把數據庫從邏輯上分成幾個互不相交的塊,每次單獨考慮一個分塊並對它生成所有的頻集,然後把產生的頻集合並,用來生成所有可能的頻集,最後計算這些項集的支持度。這裏分塊的大小選擇要使得每個分塊可以被放入主存,每個階段只需被掃描一次。而算法的正確性是由每一個可能的頻集至少在某一個分塊中是頻集保證的。該算法是可以高度並行的,可以把每一分塊分別分配給某一個處理器生成頻集。產生頻集的每一個循環結束後,處理器之間進行通信來產生全局的候選k-項集。通常這裏的通信過程是算法執行時間的主要瓶頸;而另一方面,每個獨立的處理器生成頻集的時間也是一個瓶頸。

3 FP-樹頻集算法
針對Apriori算法的固有缺陷,J. Han等提出了不產生候選挖掘頻繁項集的方法:FP-樹頻集算法。採用分而治之的策略,在經過第一遍掃描之後,把數據庫中的頻集壓縮進一棵頻繁模式樹(FP-tree),同時依然保留其中的關聯信息,隨後再將FP-tree分化成一些條件庫,每個庫和一個長度爲1的頻集相關,然後再對這些條件庫分別進行挖掘。當原始數據量很大的時候,也可以結合劃分的方法,使得一個FP-tree可以放入主存中。實驗表明,FP-growth對不同長度的規則都有很好的適應性,同時在效率上較之Apriori算法有巨大的提高。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章