自學資料探勘十大演算法之Apriori

2021-06-28 13:33:39 字數 1444 閱讀 6495

apriori簡述:apriori演算法是關聯規則分析,於2023年由rakesh提出,其目的是在乙個資料集中找出項與項之間的關係,也稱購物籃分析。此演算法有乙個經典的案例:啤酒和尿布,美國的超市經過大量資料分析發現美國的老爺們兒在給自己孩子買紙尿布的同時大多都會提上一些啤酒,於是超市將這兩樣東西放在一起,大大提高了兩者的銷量。

概念描述:

apriori核心演算法過程如下:1. 通過單趟掃瞄資料庫d計算出各個1項集的支援度,得到頻繁1項集的集合。

2. 連線步:為了生成,預先生成,由2個只有乙個項不同的屬於的頻集做乙個(k-2)join運算得到的。

3. 剪枝步:由於是的超集,所以可能有些元素不是頻繁的。在 潛在k項集的某個子集不是中的成員是,則該潛在頻繁項集不可能是頻繁的可以從中移去。

4. 通過單趟掃瞄資料庫d,計算中各個項集的支援度,將中不滿足支援度的項集去掉形成。

通過迭代迴圈,重複步驟2~4,直到有某個r值使得為空,這時演算法停止。在剪枝步中的每個元素需在交易資料庫中進行驗證來決定其是否加入,這裡的驗證過程是演算法效能的乙個瓶頸。這個方法要求多次掃瞄可能很大的交易資料庫。可能產生大量的候選集,以及可能需要重複掃瞄資料庫,是apriori演算法的兩大缺點。

偽**如下:(1)l1 = find_frequent_1-itemsets(d); // 挖掘頻繁1-項集,比較容易

(2)for (k=2;lk-1 ≠φ ;k++)

(9)lk =  // 滿足最小支援度的k-項集即為頻繁k-項集

(10) }

(11) return l= ∪ k lk;   // 合併頻繁k-項集(k>0)

演算法的圖例說明:

交易id

商品id

現在已經有很多改進apriori演算法的方法例如通過基於hash表的項集計數、事物壓縮、劃分、選樣、動態項集計數等可以有效改善apriori的時間複雜度。在此不再討論。

參考:

韓家煒:《資料探勘概念與技術》

資料探勘十大演算法

資料探勘十大演算法分為c4.5,k means,svm,apriori,em,pagerank,adaboost,knn,bayes,cart十種演算法。c4.5 關聯演算法 id3。關係 c4.5是id3的改進。決策樹演算法的一種。k means 聚類演算法。svm 支援向量機。apriori 關...

資料探勘十大演算法之Appriori演算法

理論的核心 頻繁專案集的子集仍是頻繁專案集 非頻繁專案集的超集是非頻繁專案集。這個理論一直作為經典的資料探勘理論被應用。如果專案集x是頻繁專案集,那麼它的所有非空子集都是頻繁專案集。如果專案集x是非頻繁專案集,那麼它的所有超集都是非頻繁專案集。題目 資料庫有5個事務。設min sup 60 min ...

資料探勘十大演算法 SVM

support vector classifier svc 與support vector regressor svr 函式間隔 mi n w x b 此時如果我們倍增w,b 可以無限擴大函式間隔,因此,它並不能作為標準 幾何間隔,是歸一化的函式間隔 mi n w x b w 為了方便討論,令幾何間...