1. 程式人生 > >資料探勘中的支援度 置信度 期望置信度 提升度

資料探勘中的支援度 置信度 期望置信度 提升度

定義:提升度是可信度與期望可信度的比值

通俗解釋:提升度反映了“物品集A的出現”對物品集B的出現概率發生了多大的變化。

例項說明:上述的關聯規則的提升度=65%/25%=2.6

概率描述:物品集A對物品集B的期望置信度為lift(A==>B)=confidence(A==>B)/support(B)=p(B|A)/p(B)

總之,可信度是對關聯規則的準確度的衡量,支援度是對關聯規則重要性的衡量。支援度說明了這條規則在所有事務中有多大的代表性,顯然支援度越大,關聯規則越重要。有些關聯規則可信度雖然很高,但支援度卻很低,說明該關聯規則實用的機會很小,因此也不重要。

在關聯規則挖掘中,滿足一定最小置信度以及支援度的集合成為頻繁集(frequent itemset),或者強關聯。關聯規則挖掘則是一個尋找頻繁集的過程。

關聯規則挖掘的相關演算法

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

Apriori演算法是一種最有影響的挖掘布林關聯規則頻繁項集的演算法。其核心是基於兩階段頻集思想的遞推演算法。該關聯規則在分類上屬於單維、單層、布林關聯規則。在這裡,所有支援度大於最小支援度的項集稱為頻繁項集,簡稱頻集

該演算法的基本思想是:首先找出所有的頻集,這些項集出現的頻繁性至少和預定義的最小支援度一樣。然後由頻集產生強關聯規則,這些規則必須滿足最小支援度和最小可信度。然後使用第1步找到的頻集產生期望的規則,產生只包含集合的項的所有規則,其中每一條規則的右部只有一項,這裡採用的是中規則的定義。一旦這些規則被生成,那麼只有那些大於使用者給定的最小可信度的規則才被留下來。

為了生成所有頻集,使用了遞推的方法。

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

2.基於劃分的演算法

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

3.FP-樹頻集演算法

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