當前位置:編程學習大全網 - 源碼下載 - 關聯規則算法(The Apriori algorithm)

關聯規則算法(The Apriori algorithm)

關聯規則的目的在於在壹個數據集中找出項之間的關系,也稱之為購物籃分析 (market basket analysis)。例如,購買鞋的顧客,有10%的可能也會買襪子,60%的買面包的顧客,也會買牛奶。這其中最有名的例子就是"尿布和啤酒"的故事了。

本篇的Apriori算法主要是基於頻繁集的關聯分析。其主要目的就是為了尋找強關聯規則。

要理解頻繁集、強關聯規則,要先借助下面的壹個情境,來介紹幾個重要概念。

下表是壹些購買記錄:

將購買記錄整理,可得到下表,橫欄和縱欄的數字表示同時購買這兩種商品的交易條數。如購買有Orange的交易數為4,而同時購買Orange和Coke的交易數為2。

置信度,表示這條規則有多大程度上值得可信。

設條件的項的集合為A,結果的集合為B。置信度計算在A中,同時也含有B的概率。即Confidence(A->B)=P(B|A)。例 如計算"如果Orange則Coke"的置信度。由於在含有Orange的4條交易中,僅有2條交易含有Coke。其置信度為0.5。

支持度,計算在所有的交易集中,既有A又有B的概率。

例如在5條記錄中,既有Orange又有Coke的記錄有2條。則此條規則的支持度為2/5=0.4。現在這條規則可表述為,如果壹個顧客購買了Orange,則有50%的可能購買Coke。而這樣的情況(即買了Orange會再買Coke)會有40%的可能發生。

支持度大於預先定好的最小支持度的項集。

關聯規則:令項集I={i1,i2,...in},且有壹個數據集合D,它其中的每壹條記錄T,都是I的子集。那麽關聯規則是形如A->B的表達式,A、B均為I的子集,且A與B的交集為空。這條關聯規則的支持度:support = P(A並B)。這條關聯規則的置信度:confidence = support(A並B)/suport(A)。

強關聯規則:如果存在壹條關聯規則,它的支持度和置信度都大於預先定義好的最小支持度與置信度,我們就稱它為強關聯規則。

下面用壹個例子說明算法的過程:

項目集合 I={1,2,3,4,5};

事務集 T:

設定最小支持度(minsup)=3/7,最小置信度(misconf)=5/7。

假設:n-頻繁項目集為包含n個元素的項目集,例如1-頻繁項目集為包含1個元素的項目集

則這裏,1-頻繁項目集有:{1},{2},{3},{4},{5}

生成2-頻繁項目集的過程如下:

首先列出所有可能的2-項目集,如下:

{1,2},{1,3},{1,4},{1,5}

{2,3},{2,4},{2,5}

{3,4},{3,5}

{4,5}

計算它們的支持度,發現只有{1,2},{1,3},{1,4},{2,3},{2,4},{2,5}的支持度 滿足要求,因此求得2-頻繁項目集:

{1,2},{1,3},{1,4},{2,3},{2,4}

生成3-頻繁項目集:

對於現有的2-頻繁項目集,兩兩取並集,並確保第三個二元組也在2-頻繁項目集內,把得到的所有3-項目集分別計算支持度,剔除不滿足最小支持度的項目集;

例如,

{1,2},{1,3}的並集得到{1,2,3};

{1,2},{1,4}的並集得到{1,2,4};

{1,3},{1,4}的並集得到{1,3,4};

{2,3},{2,4}的並集得到{2,3,4};

但是由於{1,3,4}的子集{3,4}不在2-頻繁項目集中,所以需要把{1,3,4}剔除掉。{2,3,4} 同理剔除。

然後再來計算{1,2,3}和{1,2,4}的支持度,發現{1,2,3}的支持度為3/7 ,{1,2,4}的支持度為2/7,所以需要把{1,2,4}剔除。因此得到3-頻繁項目集:{1,2,3}。

重復上面步驟繼續尋找n-頻繁項目集,直到不能發現更大的頻繁項目集。所以,到此,頻繁項目集生成過程結束。

這裏只說明3-頻繁項目集生成關聯規則的過程,即以集合{1,2,3}為例:

回顧事物集,先生成1-後件的關聯規則:

(1,2)—>3,置信度=3/4(出現(1,2)的記錄***4條,其中有3條包含3,所以3/4);

(1,3)—>2,置信度=3/5;

(2,3)—>1,置信度=3/3;

第二條置信度<5/7,未達到最小置信度,所以剔除掉。所以對於3-頻繁項目集生成的強關聯規則為:(1,2)—>3和(2,3)—>1。

這表示,如果1、2出現了,則極有可能出現3;2、3出現,則極有可能有1。

blogs.com/junyuhuang/p/5572364.html

  • 上一篇:linux開機自動啟動shell腳本linux開機自動啟動
  • 下一篇:怎麽知道股票什麽時候賣最合適?
  • copyright 2024編程學習大全網