十大經典資料探勘演算法 Apriori

2021-09-08 18:55:29 字數 2764 閱讀 9218

【十大經典資料探勘演算法】系列

c4.5

k-means

svmapriori

empagerank

adaboost

knnnaïve bayes

cart

關聯分析是一類非常有用的資料探勘方法,能從資料中挖掘出潛在的關聯關係。比如,在著名的購物籃事務(market basket transactions)問題中,

tiditerms12

345 關聯分析則被用來找出此類規則:顧客在買了某種商品時也會買另一種商品。在上述例子中,大部分都知道關聯規則: → ;即顧客在買完尿布之後通常會買啤酒。後來通過調查分析,原來妻子囑咐丈夫給孩子買尿布時,丈夫在買完尿布後通常會買自己喜歡的啤酒。但是,如何衡量這種關聯規則是否靠譜呢?下面給出了度量標準。

關聯規則可以描述成:項集 → 項集。項集\(x\)出現的事務次數(亦稱為support count)定義為:

\[ \sigma (x) = |t_i|x \subseteq t_i, t_i \in t| \]

其中,\(t_i\)表示某個事務(tid),\(t\)表示事務的集合。關聯規則\(x \longrightarrow y\)的支援度(support):

\[ s(x \longrightarrow y) = \frac \]

支援度刻畫了項集\(x \cup y\)的出現頻次。置信度(confidence)定義如下:

\[ s(x \longrightarrow y) = \frac \]

對概率論稍有了解的人,應該看出來:置信度可理解為條件概率\(p(y|x)\),度量在已知事務中包含了\(x\)時包含\(y\)的概率。

對於靠譜的關聯規則,其支援度與置信度均應大於設定的閾值。那麼,關聯分析問題即等價於:對給定的支援度閾值min_sup、置信度閾值min_conf,找出所有的滿足下列條件的關聯規則:

\begin

& 支援度 >= min\_sup \cr

& 置信度 >= min\_conf \cr

\end

把支援度大於閾值的項集稱為頻繁項集(frequent itemset)。因此,關聯規則分析可分為下列兩個步驟:

若(對於所有事務集合)項的個數為\(d\),則所有關聯規則的數量:

\[ \begin & \sum_^d c_d^i \sum_^ c_^j \cr = & \sum_^d c_d^i ( 2^ -1) \cr = & \sum_^d c_d^i * 2^ - 2^d + 1 \cr = & (3^d - 2^d) - 2^d +1 \cr = & 3^d - 2^ + 1 \end \]

如果採用暴力方法,窮舉所有的關聯規則,找出符合要求的規則,其時間複雜度將達到指數級。因此,我們需要找出複雜度更低的演算法用於關聯分析。

agrawal與srikant提出apriori演算法,用於做快速的關聯規則分析。

根據支援度的定義,得到如下的先驗定理:

這個比較容易證明,因為某項集的子集的支援度一定不小於該項集。

定理2是上一條定理的逆反定理。根據定理2,可以對項集樹進行如下剪枝:

項集樹共有項集數:\(\sum_^d k \times c_^k = d \cdot 2^\)。顯然,用窮舉的辦法會導致計算複雜度太高。對於大小為\(k-1\)的頻繁項集\(f_\),如何計算大小為\(k\)的頻繁項集\(f_k\)呢?apriori演算法給出了兩種策略:

\(f_k = f_ \times f_1\)方法。之所以沒有選擇\(f_\)與(所有)1項集生成\(f_k\),是因為為了滿足定理2。下圖給出由頻繁項集\(f_2\)與\(f_1\)生成候選項集\(c_3\):

\(f_k = f_ \times f_\)方法。選擇前\(k-2\)項均相同的\(f_\)進行合併,生成\(f_\)。當然,\(f_\)的所有\(f_\)都是有序排列的。之所以要求前\(k-2\)項均相同,是因為為了確保\(f_k\)的\(k-2\)項都是頻繁的。下圖給出由兩個頻繁項集\(f_2\)生成候選項集\(c_3\):

生成頻繁項集\(f_k\)的演算法如下:

關聯規則是由頻繁項集生成的,即對於\(f_k\),找出項集\(h_m\),使得規則\(f_k-h_m \longrightarrow h_m\)的置信度大於置信度閾值。同樣地,根據置信度定義得到如下定理:

定理3:如果規則\(x \longrightarrow y-x\)不滿足置信度閾值,則對於\(x\)的子集\(x'\),規則\(x' \longrightarrow y-x'\)也不滿足置信度閾值。

根據定理3,可對規則樹進行如下剪枝:

關聯規則的生成演算法如下:

資料探勘十大經典演算法

最近想看看資料探勘是個什麼東西,因此特別的關注了下,首先看看資料探勘包含哪些演算法,網上找到了十大經典演算法 01.c4.5 是機器學習演算法中的一種分類決策樹演算法,其核心演算法是 id3演算法 02.k means演算法 是一種聚類演算法。03.svm 一種 監督式學習 的方法,廣泛運用於統計分...

資料探勘十大經典演算法

1 c4.5 2 k means 3 svm 4 apriori 5 em 6 pagerank 7 adaboost 8 knn 9 bayes 10 cart 1 c4.5 計算增益率 step1 計算資料集d的熵 單位為位元 info d step2 計算每個屬性的熵info x d step...

十大經典資料探勘演算法

c4.5演算法 機器學習演算法中的乙個分類決策樹演算法 cart 分類與回歸樹 c4.5與cart都是決策樹演算法 id3用資訊增益,c4.5用資訊增益率,cart用gini係數 knn 樸素貝葉斯 bayes 在眾多的分類模型中,應用最為廣泛的兩種分類模型是決策樹模型 decision tree ...