資料採礦演算法-Apriori Algorithm(關聯規則)

來源:互聯網
上載者:User

標籤:

資料採礦演算法-Apriori Algorithm(關聯規則)

      Apriori algorithm是關聯規則裡一項基本演算法。是由Rakesh Agrawal和Ramakrishnan Srikant兩位博士在1994年提出的關聯規則挖掘演算法。關聯規則的目的就是在一個資料集中找出項與項之間的關係,也被稱為購物藍分析 (Market Basket analysis),因為“購物藍分析”很貼切的表達了適用該演算法情景中的一個子集。
  關於這個演算法有一個非常有名的故事:"尿布和啤酒"。故事是這樣的:美國的婦女們經常會囑咐她們的丈夫下班後為孩子買尿布,而丈夫在買完尿布後又要順 手買回自己愛喝的啤酒,因此啤酒和尿布在一起被購買的機會很多。這個舉措使尿布和啤酒的銷量雙雙增加,並一直為眾商家所津津樂道。

一.一些概念和定義 1.定義1 項目與項集

設I={i1,i2,…,im}是m個不同項目的集合,每個ik(k=1,2,……,m)稱為一個項目(Item)。
項目的集合 I 稱為項目集合(Itemset),簡稱為項集。其元素個數稱為項集的長度,長度為k的項集稱為k-項集(k-Itemset)。

2.定義2 交易

每筆交易T(Transaction)是項集I上的一個子集,即TI,但通常TI。
對應每一個交易有一個唯一的標識——交易號,記作TID
交易的全體構成了交易資料庫D,或稱交易記錄集D,簡稱交易集D。
交易集D中包含交易的個數記為|D|。

3.定義3 項集的支援度

對於項集X,XI,設定count(XT)為交易集D中包含X的交易的數量


項集X的支援度support(X)就是項集X出現的機率,從而描述了X的重要性。

4.定義4 項集的最小支援度與頻繁集

發現關聯規則要求項集必須滿足的最小支援閾值,稱為項集的最小支援度(Minimum Support),記為supmin。
支援度大於或等於supmin的項集稱為頻繁項集,簡稱頻繁集,反之則稱為非頻繁集。
通常k-項集如果滿足supmin,稱為k-頻繁集,記作Lk 。

5.定義5 關聯規則

關聯規則(Association Rule)可以表示為一個蘊含式:
                       
其中:。
例如:R:牛奶→麵包

6.定義6 關聯規則的支援度


規則R的的支援度(Support)是交易集中同時包含X和Y的交易數與所有交易數之比。

例如:在5條記錄中,既有橙汁又有可樂的記錄有2條。則此條規則的支援度為 2/5=0.4,即Support(A-〉B)=P(AB)。

7.定義7 關聯規則的信賴度


規則R的信賴度(Confidence)是指包含X和Y的交易數與包含X的交易數之比

例如:計算“如果Orange則Coke”的信賴度。由於在含有“橙汁”的4條交易中,僅有2條交易含有“可樂”。其信賴度為0.5。

8.定義8 關聯規則的最小支援度和最小信賴度

關聯規則的最小支援度也就是衡量頻繁集的最小支援度(Minimum Support),記為supmin,它用于衡量規則需要滿足的最低重要性。
關聯規則的最小信賴度(Minimum Confidence)記為confmin,它表示關聯規則需要滿足的最低可靠性。

9.定義9 強關聯規則

,稱關聯規則X=》Y為強關聯規則,否則稱關聯規則X=》Y為弱關聯規則。

在挖掘關聯規則時,產生的關聯規則要經過supmin和confmin的衡量,篩選出來的強關聯規則才能用於指導商家的決策。 10.候選集(Candidate itemset):通過向下合并得出的項集。定義為C[k]。
11.頻繁集(Frequent itemset):支援度大於等於特定的最小支援度(Minimum Support/minsup)的項集。表示為L[k]。注意,頻繁集的子集一定是頻繁集。
12.提升比率(提升度Lift):lift(X -> Y) = lift(Y -> X) = conf(X -> Y)/supp(Y) = conf(Y -> X)/supp(X) = P(X and Y)/(P(X)P(Y))
經過關聯規則分析後,針對某些人推銷(根據某規則)比盲目推銷(一般來說是整個資料)的比率,這個比率越高越好,我們稱這個規則為強規則;

13.剪枝步:只有當子集都是頻繁集的候選集才是頻繁集,這個篩選的過程就是剪枝步。

二.Apriori Algorithm(關聯規則)動態示範(點擊下載ppt觀看) 三.Apriori Algorithm(關聯規則)演算法描述

Apriori 演算法採用的方法為:首先產生頻繁 1-項集 L1,然後用 L1經過自串連、剪枝產生 L2,頻繁 2-項集 L2又用來產生 L3,以此類推,逐層迭代,直到無法產生新的頻繁項集為止。然後根據給定的最小可信度,利用產生的頻繁項集產生關聯規則。

1.產生頻繁項集 該過程可以通過以下步驟實現:

1)  第一階段,所有單獨的項都是候選項集 C1。任何支援度值比給定的最小支援度值小的項都將從候選項集 C1中剔除,形成頻繁 1-項集 L1。
2)  兩個 L1通過自串連形成具有 2 個項的候選項集 C2。通過再次掃描資料庫決定這些候選項的支援度。保留比預先給定的最小支援度大的候選項,形成頻繁 2-項集L2。
3)  下一步形成含有 3 個項的候選項集 C3,重複上述步驟,直到找到所有的頻繁項集為止。

Apriori 演算法的偽碼描述如下所示:

輸入:資料集 D,min_sup
輸出:D 中的頻繁項集 L

2.產生關聯規則

從交易資料庫 D 中挖掘出頻繁所有的頻繁項集後,就可以比較容易的獲得相應的關聯規則,即滿足可信度?min_conf 的頻繁項集產生強關聯規則。由於規則是由頻繁項集產生,所以每個規則自動滿足 min_sup。

在用頻繁項 X 產生關聯的偽碼如下:

輸入:Yk,Lk,min_conf
輸出:形如 X=》Y 的關聯規則

-------------------------------------------------------------------------------------------------------------------------------------

完

轉載需註明轉載字樣,標註原作者和原博文地址。

資料採礦演算法-Apriori Algorithm(關聯規則)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.