關(guān)聯(lián)規(guī)則有時也被稱之為購物籃分析,常被用于發(fā)現(xiàn)隱藏在大型數(shù)據(jù)集背后的有趣關(guān)系问裕,這些關(guān)系被稱為規(guī)則或頻繁項集织堂,用于回答以下問題:
1.哪些產(chǎn)品可能會被一起購買?
2.與這個人相似的客戶傾向于購買什么產(chǎn)品鸠删?
3.對于已經(jīng)購買了該產(chǎn)品的客戶,他們還可能查看或購買什么其他類似的產(chǎn)品贼陶?
概念:
1刃泡、所謂項集就是項目的集合,只包含一個項目的項集為單項集碉怔,包含多個項目的項集為多項集烘贴。例如:超市交易單中,{牛奶}撮胧、{面包}就是多個單項集桨踪,{牛奶、面包}芹啥、{牛奶锻离、面包、蘋果}是多個多項集墓怀;這里的多項集是同時發(fā)生的汽纠,即用戶既買了牛奶又買了面包;
2傀履、在所有數(shù)據(jù)中虱朵,項集出現(xiàn)的概率被稱之為該項集的支持度,比如出現(xiàn){牛奶}的交易占總交易的比例為70%,則{牛奶}的支持度為70%卧秘;
3呢袱、我們通常會設(shè)定一個最小支持度來劃分項集是否是頻繁的,比如我們設(shè)置最小支持度為50%翅敌,則超過這個最小支持度的項集都是頻繁項集羞福。可以理解為被購買次數(shù)占比超過一半的商品都是被頻繁購買的商品蚯涮。
4治专、一個多項集如果是頻繁項集,則它每個子項必定是一個頻繁項集遭顶,因為這里的多項集是指每個子項同時發(fā)生的項集张峰。
5、一般會找出交易中存在的所有頻繁項集或限定多項集的長度以內(nèi)的頻繁項集棒旗;Apriori算法采用的是一個自下而上的迭代算法:
1)設(shè)定一個最小支持度0.5喘批;
2)先找出單項集中的頻繁項集;
3)合并篩選出的單項集進行合并铣揉,并剪掉非頻繁項集的項集饶深;
4)迭代進行合并剪枝,指導達到限定長度或最大迭代逛拱;
5)輸出所有頻繁項集敌厘。
6、有了頻繁項集后就有了候選規(guī)則朽合,比如一個頻繁項集{牛奶俱两、面包},則候選規(guī)則有{牛奶}->{面包}和{面包}->{牛奶}曹步。
7宪彩、通常用置信度來評估候選規(guī)則,置信度被定義為與每個發(fā)現(xiàn)規(guī)則相關(guān)聯(lián)的確定性和可能性箭窜;
confidence(x->y) = support(x^y) / support(x)
例如毯焕,如果{牛奶衍腥、面包}的支持度為0.15磺樱,且{牛奶}的支持度為0.15,則{牛奶}->{面包}的置信度為1婆咸,這意味著用戶在購買牛奶的時候一定會購買面包竹捉;
8、置信度的取值范圍為[0,1]尚骄,越接近1說明兩者之間越可能存在某種有趣的聯(lián)系块差;一般會設(shè)定一個閥值,當超過這個閥值的時候,則可以認為可能存在一定的關(guān)聯(lián)憨闰。
9状蜗、這里排除了無趣的規(guī)則,但有一個問題鹉动,不能完全說明{X} 就一定與{Y}關(guān)聯(lián)轧坎,比如上例子中面包可能就是一個剛需品,購買量本來就很大泽示,那這個規(guī)則就沒多大意義了缸血。
10、這里要增加兩個度量方式:提升度和杠桿率械筛,兩個是類似的概念捎泻。提升度公式:
Lift(x->y) = support(x^y) / support(x) * support(y)
如果x與y是相互統(tǒng)計獨立,那提升度為1埋哟;相比之下笆豁,如果大于1,則說明這個規(guī)則是有用的赤赊,而且越大越好渔呵。
11、重溫下統(tǒng)計獨立概念砍鸠,就是兩個事件是完全不相關(guān)的扩氢,滿足公式:
P(AB)=P(A)P(B),A與B同時發(fā)生的概率為A發(fā)生的概率*B發(fā)生的概率
兩個事件統(tǒng)計獨立爷辱,則兩個事件必定不相關(guān)录豺;但兩個事件不相關(guān)不一定統(tǒng)計獨立。
12饭弓、杠桿率的計算公式:
Leverage=support(x^y) - support(x) * support(y)
跟提升度類似双饥,杠桿率大于0說明有一定關(guān)系,越大越好弟断。
13咏花、總結(jié):通過支持度篩選出頻繁項集,即可獲得一些候補規(guī)則阀趴;通過置信度來篩選可能有趣的候選規(guī)則昏翰,為了排除巧合或其他因素,通常使用提升度和杠桿率來進行二次評估刘急。