关联规则(Association Rules)笔记
1 關(guān)聯(lián)規(guī)則產(chǎn)生的原因:購(gòu)物籃問(wèn)題
????????關(guān)聯(lián)規(guī)則最初是為了解決購(gòu)物籃問(wèn)題而產(chǎn)生。上世紀(jì)九十年代,美國(guó)的沃爾瑪超市發(fā)現(xiàn),啤酒和尿布這兩種完全不著邊際的商品竟然有很高的概率一起被購(gòu)買(mǎi)。
????????在一段時(shí)間之后,他終于分析出了原因:
????????在美國(guó)有嬰兒的家庭中,一般是母親在家中照看嬰兒,年輕的父親去超市買(mǎi)尿布。父親在購(gòu)買(mǎi)尿布的同時(shí),往往會(huì)順便為自己購(gòu)買(mǎi)啤酒。所以尿布和啤酒一起出現(xiàn)的概率就很高。
2 關(guān)聯(lián)規(guī)則
? ? ? ??關(guān)聯(lián)規(guī)則是形如X→Y的蘊(yùn)涵式,其中, X和Y分別稱為關(guān)聯(lián)規(guī)則的先導(dǎo)(left-hand-side, LHS)和后繼(right-hand-side, RHS) 。
3 幾個(gè)重要的概念
在說(shuō)概念之前,我們看一下我們這一小節(jié)涉及的數(shù)據(jù)集:
3.1 項(xiàng)
每一小件商品(如A、B、C、D),稱之為一個(gè)項(xiàng)
3.2 記錄
每一組商品的組合(如ABCD),稱之為一條記錄
3.3 項(xiàng)(目)集
? ? ? ? 由項(xiàng)組成的集合(不一定是記錄里面有的組合),如{A,B,C},{A,B,D}都是項(xiàng)集
3.4 K項(xiàng)集
? ? ? ? 項(xiàng)集中的元素個(gè)數(shù)為K,如{A,B,C}就是一個(gè)三項(xiàng)集
3.5?事務(wù)集
所有的記錄構(gòu)成的集合稱之為事務(wù)集
在上圖中,{ABCD,ABCE,BDEF,BCDE,ACDF,ABC,ABE}稱之為一個(gè)事務(wù)集
3.6? 支持度
????????’????????
? ? ? ? 簡(jiǎn)單理解就是頻率。而在數(shù)據(jù)量大的時(shí)候,頻率又可以近似為概率
? ? ? ? Sup(X)可以理解為某個(gè)項(xiàng)集出現(xiàn)的概率
以數(shù)據(jù)集
為例 sup({A,C})=4/7 (一共有7組數(shù)據(jù),{A,C}同時(shí)出現(xiàn)的有4組)
3.7 置信度
簡(jiǎn)單理解就是條件概率(XY同時(shí)出現(xiàn)的概率/X出現(xiàn)的概率)
如果X={A},Y={C},那么Con(X->Y)=
換言之,置信度等于X出現(xiàn)的基礎(chǔ)上,出現(xiàn)Y的概率。這樣想也是0.8
3.8 最小支持度
人為規(guī)定的一個(gè)支持度(后面會(huì)說(shuō)明)
3.9 最小置信度
人為規(guī)定的一個(gè)置信度(后面會(huì)說(shuō)明)
3.10 提升度
理解為B在A發(fā)生的基礎(chǔ)上再發(fā)生的概率,和B單獨(dú)發(fā)生的概率的比值?
如果提升度大于1,表示A的出現(xiàn)對(duì)于B的概率有推動(dòng)作用。
3.11 頻繁K項(xiàng)集
支持度比最小支持度大的K項(xiàng)集
?比如我們最小支持度為0.5,sup({A,C})=4/7 >0.5 所以{A,C}是一個(gè)頻繁2項(xiàng)集
3.12 候選K項(xiàng)集
用來(lái)生成頻繁K項(xiàng)集的項(xiàng)集(后面會(huì)說(shuō)明)
這個(gè)值不等價(jià)于所有K項(xiàng)集(后面會(huì)說(shuō)明)
4 關(guān)聯(lián)規(guī)則定理
定理1:如果X是一個(gè)頻繁K項(xiàng)集,那么它的所有子集也是
????????X的子集出現(xiàn)的數(shù)量肯定大于等于X出現(xiàn)的數(shù)量(子集可能出現(xiàn)在非X的K項(xiàng)集里面),所以X子集的支持度肯定大于X的支持度。那么既然X都是頻繁K項(xiàng)集了,它的子集更是。
定理2:如果X的子集不是k-1項(xiàng)頻繁,那么它一定不是頻繁K項(xiàng)集
? ? ? ? 和定理1同樣的說(shuō)明方法,X的子集的支持度肯定比X要大。那么既然子集都沒(méi)有大于最小支持度,那么X更沒(méi)有。
5 關(guān)聯(lián)準(zhǔn)則主要步驟(Apriori算法)
重復(fù)2和3 直到無(wú)法篩選出滿足最小支持度的項(xiàng)集
? ? ?4. 將前面循環(huán)獲得的最終頻繁K項(xiàng)集依次取出。同時(shí)計(jì)算取出的這個(gè)K項(xiàng)集的所有真子集,以排列組合的方式形成關(guān)聯(lián)規(guī)則,并計(jì)算關(guān)聯(lián)規(guī)則的置信度和提升度,將符合要求的關(guān)聯(lián)規(guī)則提出
算法結(jié)束
6 關(guān)聯(lián)規(guī)則案例研究
我們令最小支持度是0.3(2.1/7)
第一步: 令K=1 計(jì)算所有單個(gè)商品的支持度,篩選出頻繁1項(xiàng)集?
K=2 時(shí)的第二步:根據(jù)k-1(即1)的頻繁1項(xiàng)集生成候選二項(xiàng)集,并進(jìn)行預(yù)剪枝。
這一步得到的是所有的二項(xiàng)組合(并沒(méi)有做劃去{A,D}這些的操作)
(這一步還沒(méi)有預(yù)剪枝)
?K=2時(shí)的第三步?從候選K項(xiàng)集生成頻繁K項(xiàng)集
將上一步得到的候選二項(xiàng)集中支持度小于最小支持度的去掉(即去掉{A,D}這一類(lèi)項(xiàng)集)
?K=3?時(shí)的第二步:根據(jù)k-1(即2)的頻繁2項(xiàng)集生成候選三項(xiàng)集,并進(jìn)行預(yù)剪枝。
?K=3時(shí)的第三步?從候選K項(xiàng)集生成頻繁K項(xiàng)集
?
第四步
細(xì)心的話會(huì)發(fā)現(xiàn),這里沒(méi)有{A,C}和{A,B}的組合,因?yàn)檫@兩個(gè)的組合和{C}和{B}之間的組合沒(méi)有區(qū)別
7 算法缺點(diǎn)
- ??時(shí)間復(fù)雜度大(每次計(jì)算一個(gè)K項(xiàng)集的支持度時(shí),都需要掃描一遍事務(wù)集)
- ? 頻繁項(xiàng)目集長(zhǎng)度變大的情況下,運(yùn)算時(shí)間顯著增加
- 采用唯一支持度,沒(méi)有考慮各個(gè)屬性的重要程度
8 總結(jié)
如果一個(gè)規(guī)則 X->Y 是一個(gè)最小支持度s,最小置信度c的關(guān)聯(lián)規(guī)則,那么它需要滿足:
1) X?∪ Y 的 支持度大于s
2)X->Y的置信度大于c
參考資料:通俗易懂講算法-關(guān)聯(lián)規(guī)則_嗶哩嗶哩_bilibili
總結(jié)
以上是生活随笔為你收集整理的关联规则(Association Rules)笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SG 生活篇
- 下一篇: 文巾解题 53. 最大子序和