資料探勘演算法 關聯分析二(Apriori)

2022-05-15 19:30:57 字數 1521 閱讀 3087

上文說到,大多數關聯規則挖掘演算法通常採用的策略是分解為兩步:

頻繁項集產生,其目標是發現滿足具有最小支援度閾值的所有項集,稱為頻繁項集(frequent itemset)。

規則產生,其目標是從上一步得到的頻繁項集中提取高置信度的規則,稱為強規則(strong rule)。通常頻繁項集的產生所需的計算遠大於規則產生的計算花銷。

我們發現頻繁項集的乙個原始方法是確定格結構中每個候選項集的支援度。但是工作量比較大。另外有幾種方法可以降低產生頻繁項集的計算複雜度。

減少候選項集的數目。如先驗(apriori)原理,是一種不用計算支援度而刪除某些候選項集的方法。

減少比較次數。利用更高階得到資料結構或者儲存候選項集或者壓縮資料集來減少比較次數。

apriori演算法是第乙個關聯規則的挖掘演算法,它開創性的使用了基於支援度的剪枝技術來控制候選項集的指數級增長。apriori演算法產生頻繁項集的過程有兩步:第一,逐層找出當前候選項集中的所有頻繁項集:第二,用當前長度的頻繁項集產生長度加1的新的候選項集。

首先我們來看一下apriori演算法用到的核心原理用到的兩個重要性質:

如果乙個項集是頻繁的,那麼它的所有子集都是頻繁的。

如果乙個項集是非頻繁的,那麼它的所有超集都是非平凡的。這種基於支援度度量修剪指數搜尋空間的策略稱為基於支援度的剪枝,依賴於乙個性質,即乙個項集的支援度決不會超過它的自己的支援度,這個性質稱為反之尺度度量的反單調性(anti-monotone)。

如果乙個項集是非頻繁項集,那麼這個項集的超集就不需要再考慮了。因為如果這個項集是非頻繁的,那麼它的所有超集也一定都是非頻繁的。在項集的超集是指,包含這個項集的元素且元素個數更多的項集。在購物籃事務庫中就是的其中乙個超集。這個原理很好理解,如果出現了3次,一起出現的次數一定小於3次。所以如果乙個項集的支援度小於最小支援度這個閾值了,那麼它的超集的支援度一定也小於這個閾值,就不用再考慮了。

下面簡單描述購物藍事物庫例子中,所有頻繁項集是如何通過apriori演算法找出的。

首先,我們限定最小支援度計數為3。遍歷長度為1的項集,發現和{eggs}不滿足最小支援度計數,將它們除去。用剩餘4個長度為1的頻繁項集產生=6個長度為2的候選集。再次基礎上重新計算支援度計數,發現和這兩個項集是非頻繁,將它們除去之後再產生長度為3的候選集。這裡需要注意的是不需要再產生這個候選集了,因為它的其中乙個子集是非頻繁的,根據先驗原理這個項集本身一定是非頻繁的。

apriori演算法的優點是可以產生相對較小的候選集,而它的缺點是要重複掃瞄資料庫,且掃瞄的次數由最大頻繁專案集中專案數決定,因此apriori適用於最大頻繁專案集相對較小的資料集中。

用hash樹結構提高apriori演算法產生候選集的效率:

在上述的apriori演算法中我們已經知道了這個演算法需要不斷的進行從頻繁項集中產生候選集的過程。首先找到中包含的事務的所有元素,然後在產生長度的候選集。這個過程效率是很低的,為了提高找出所有候選集的效率就要用到雜湊樹了。

資料探勘 關聯規則分析(二)Apriori演算法

1 apriori演算法最早是agrawal和srikant在1996年提出的,後經不斷完善,已成為資料探勘中簡單關聯分析的核心演算法。2 為克服簡單搜尋可能產生大量無效規則,計算效率低下,且在大樣本下甚至可能無法實現的問題,apriori演算法包括如下兩大部分 第一,搜尋頻繁項集。第二,依據頻繁項...

資料探勘演算法 關聯關係挖掘(1)

大資料時代背景下,各行各業都有自己的資料,資料積累也越來越多,從海量的資料中,挖掘少量有效有價值的資料,是非常有必要的 如何挖掘資料的價值及資料之間存在的內在關係,是大家一直研究的問題 本篇介紹資料關聯分析,關聯分析可以應用於眾多領域,如典型的購物車資料,通過使用者的購物車分析出商品之間的關聯關係,...

資料探勘之關聯規則分析

關聯規則分析也稱為購物籃分析,最早是為了發現超市銷售資料庫中不同的商品之間的關聯關係。用於尋找資料集中各項之間的關聯關係。根據所挖掘的關聯關係,可以從乙個屬性的資訊來推斷另乙個屬性的資訊。當置信度達到某一閾值時,可以認為規則成立。常用的關聯規則演算法 演算法名稱 演算法描述 apriori 關聯規則...