【机器学习】数据挖掘算法——关联规则(一),相关概念,评价指标
綜述:
數(shù)據(jù)挖掘是指以某種方式分析數(shù)據(jù)源,從中發(fā)現(xiàn)一些潛在的有用的信息,所以數(shù)據(jù)挖掘又稱(chēng)作知識(shí)發(fā)現(xiàn),而關(guān)聯(lián)規(guī)則挖掘則是數(shù)據(jù)挖掘中的一個(gè)很重要的課題,顧名思義,它是從數(shù)據(jù)背后發(fā)現(xiàn)事物之間可能存在的關(guān)聯(lián)或者聯(lián)系。
關(guān)聯(lián)規(guī)則的目的在于在一個(gè)數(shù)據(jù)集中找出項(xiàng)之間的關(guān)系,也稱(chēng)之為購(gòu)物藍(lán)分析 (market basket analysis)。例如,購(gòu)買(mǎi)鞋的顧客,有10%的可能也會(huì)買(mǎi)襪子,60%的買(mǎi)面包的顧客,也會(huì)買(mǎi)牛奶。這其中最有名的例子就是"尿布和啤酒"的故事了。
關(guān)聯(lián)規(guī)則的應(yīng)用場(chǎng)合。在商業(yè)銷(xiāo)售上,關(guān)聯(lián)規(guī)則可用于交叉銷(xiāo)售,以得到更大的收入;在保險(xiǎn)業(yè)務(wù)方面,如果出現(xiàn)了不常見(jiàn)的索賠要求組合,則可能為欺詐,需要作進(jìn)一步的調(diào)查。在醫(yī)療方面,可找出可能的治療組合;在銀行方面,對(duì)顧客進(jìn)行分析,可以推薦感興趣的服務(wù)等等。
一個(gè)簡(jiǎn)單例子
先看一個(gè)簡(jiǎn)單的例子,假如有下面數(shù)據(jù)集,每一組數(shù)據(jù)ti表示不同的顧客一次在商場(chǎng)購(gòu)買(mǎi)的商品的集合:
t1: 牛肉、雞肉、牛奶 t2: 牛肉、奶酪 t3: 奶酪、靴子 t4: 牛肉、雞肉、奶酪 t5: 牛肉、雞肉、衣服、奶酪、牛奶 t6: 雞肉、衣服、牛奶 t7: 雞肉、牛奶、衣服假如有一條規(guī)則:牛肉—>雞肉,那么同時(shí)購(gòu)買(mǎi)牛肉和雞肉的顧客比例是3/7,而購(gòu)買(mǎi)牛肉的顧客當(dāng)中也購(gòu)買(mǎi)了雞肉的顧客比例是3/4。這兩個(gè)比例參數(shù)是很重要的衡量指標(biāo),它們?cè)陉P(guān)聯(lián)規(guī)則中稱(chēng)作支持度(support)和置信度(confidence)。對(duì)于規(guī)則:牛肉—>雞肉,它的支持度為3/7,表示在所有顧客當(dāng)中有3/7同時(shí)購(gòu)買(mǎi)牛肉和雞肉,其反應(yīng)了同時(shí)購(gòu)買(mǎi)牛肉和雞肉的顧客在所有顧客當(dāng)中的覆蓋范圍;它的置信度為3/4,表示在買(mǎi)了牛肉的顧客當(dāng)中有3/4的人買(mǎi)了雞肉,其反應(yīng)了可預(yù)測(cè)的程度,即顧客買(mǎi)了牛肉的話(huà)有多大可能性買(mǎi)雞肉。其實(shí)可以從統(tǒng)計(jì)學(xué)和集合的角度去看這個(gè)問(wèn)題, 假如看作是概率問(wèn)題,則可以把“顧客買(mǎi)了牛肉之后又多大可能性買(mǎi)雞肉”看作是條件概率事件,而從集合的角度去看,可以看下面這幅圖:
上面這副圖可以很好地描述這個(gè)問(wèn)題,S表示所有的顧客,而A表示買(mǎi)了牛肉的顧客,B表示買(mǎi)了雞肉的顧客,C表示既買(mǎi)了牛肉又買(mǎi)了雞肉的顧客。那么C.count/S.count=3/7,C.count/A.count=3/4。
在數(shù)據(jù)挖掘中,例如上述例子中的所有商品集合I=I=I={\{{牛肉,雞肉,牛奶,奶酪,靴子,衣服}\}}稱(chēng)作項(xiàng)目集合,每位顧客一次購(gòu)買(mǎi)的商品集合tit_iti?稱(chēng)為一個(gè)事務(wù),所有的事務(wù)T={t1,t2,?t7}T=\{t_1,t_2,\cdots t_7\}T={t1?,t2?,?t7?}稱(chēng)作事務(wù)集合,并且滿(mǎn)足tit_iti?是III的真子集。一條關(guān)聯(lián)規(guī)則是形如下面的蘊(yùn)含式:
X→YX\to YX→Y,X,YX,YX,Y滿(mǎn)足:X,Y:X,Y:X,Y是III的真子集,并且XXX和YYY的交集為空集。
其中XXX稱(chēng)為前件,YYY稱(chēng)為后件。
對(duì)于規(guī)則X→YX\to YX→Y,根據(jù)上面的例子可以知道它的支持度:support=(X,Y).count/T.countsupport=(X,Y).count/T.countsupport=(X,Y).count/T.count置信度:confidence=(X,Y).count/X.countconfidence=(X,Y).count/X.countconfidence=(X,Y).count/X.count其中(X,Y).count(X,Y).count(X,Y).count表示TTT中同時(shí)包含XXX和YYY的事務(wù)的個(gè)數(shù),X.countX.countX.count表示TTT中包含XXX的事務(wù)的個(gè)數(shù)。
關(guān)聯(lián)規(guī)則挖掘則是從事務(wù)集合中挖掘出滿(mǎn)足支持度和置信度最低閾值要求的所有關(guān)聯(lián)規(guī)則,這樣的關(guān)聯(lián)規(guī)則也稱(chēng)強(qiáng)關(guān)聯(lián)規(guī)則。
對(duì)于支持度和置信度,我們需要正確地去看待這兩個(gè)衡量指標(biāo)。一條規(guī)則的支持度表示這條規(guī)則的可能性大小,如果一個(gè)規(guī)則的支持度很小,則表明它在事務(wù)集合中覆蓋范圍很小,很有可能是偶然發(fā)生的;如果置信度很低,則表明很難根據(jù)X推出Y。
根據(jù)條件概率公式P(Y∣X)=P(X,Y)/P(X),即P(X,Y)=P(Y∣X)?P(X)P(Y|X)=P(X,Y)/P(X),即P(X,Y)=P(Y|X)*P(X)P(Y∣X)=P(X,Y)/P(X),即P(X,Y)=P(Y∣X)?P(X)
P(Y∣X)P(Y|X)P(Y∣X)代表著置信度,P(X,Y)P(X,Y)P(X,Y)代表著支持度,所以對(duì)于任何一條關(guān)聯(lián)規(guī)則置信度總是大于等于支持度的。并且當(dāng)支持度很高時(shí),此時(shí)的置信度肯定很高,它所表達(dá)的意義就不是那么有用了。
這里要注意的是支持度和置信度只是兩個(gè)參考值而已,并不是絕對(duì)的,也就是說(shuō)假如一條關(guān)聯(lián)規(guī)則的支持度和置信度很高時(shí),不代表這個(gè)規(guī)則之間就一定存在某種關(guān)聯(lián)。舉個(gè)最簡(jiǎn)單的例子,假如XXX和YYY是最近的兩個(gè)比較熱門(mén)的商品,大家去商場(chǎng)都要買(mǎi),比如某款手機(jī)和某款衣服,都是最新款的,深受大家的喜愛(ài),那么這條關(guān)聯(lián)規(guī)則的支持度和置信度都很高,但是它們之間沒(méi)有必然的聯(lián)系。然而當(dāng)置信度很高時(shí),支持度仍然具有參考價(jià)值,因?yàn)楫?dāng)P(Y∣X)P(Y|X)P(Y∣X)很高時(shí),可能P(X)P(X)P(X)很低,此時(shí)P(X,Y)P(X,Y)P(X,Y)也許會(huì)很低。
為了解決這樣的問(wèn)題,在下文中也提出了其他的評(píng)價(jià)指標(biāo)。
參考文章:http://www.cnblogs.com/dolphin0520/archive/2012/10/29/2733356.html
相關(guān)概念綜述:
這里借用一個(gè)引例來(lái)介紹關(guān)聯(lián)規(guī)則挖掘。
| T1 | bread, cream, milk, tea | T6 | bread, tea |
| T2 | bread, cream, milk | T7 | beer, milk, tea |
| T3 | cake, milk | T8 | bread, tea |
| T4 | milk, tea | T9 | bread, cream, milk, tea |
| T5 | bread, cake, milk | T10 | bread, milk, tea |
定義一:設(shè)I={i1,i2,…,im},是m個(gè)不同的項(xiàng)目的集合,每個(gè)ik稱(chēng)為一個(gè)項(xiàng)目。項(xiàng)目的集合I稱(chēng)為項(xiàng)集。其元素的個(gè)數(shù)稱(chēng)為項(xiàng)集的長(zhǎng)度,長(zhǎng)度為k的項(xiàng)集稱(chēng)為k-項(xiàng)集。引例中每個(gè)商品就是一個(gè)項(xiàng)目,項(xiàng)集為I={bread, beer, cake,cream, milk, tea},I的長(zhǎng)度為6。
定義二:每筆交易T是項(xiàng)集I的一個(gè)子集。對(duì)應(yīng)每一個(gè)交易有一個(gè)唯一標(biāo)識(shí)交易號(hào),記作TID。交易全體構(gòu)成了交易數(shù)據(jù)庫(kù)D,|D|等于D中交易的個(gè)數(shù)。引例中包含10筆交易,因此|D|=10。
定義三:對(duì)于項(xiàng)集X,必有X?T。記 X.countX.countX.count 為交易集D中包含X的交易的數(shù)量,則項(xiàng)集X的支持度為:
support(X)=X.count∣D∣support(X)=\frac{X.{count}}{|D|}support(X)=∣D∣X.count?
引例中X={bread, milk}出現(xiàn)在T1,T2,T5,T9和T10中,所以支持度為0.5。
定義四:最小支持度是項(xiàng)集的最小支持閥值,記為SUPmin,代表了用戶(hù)關(guān)心的關(guān)聯(lián)規(guī)則的最低重要性。支持度不小于SUPmin 的項(xiàng)集稱(chēng)為頻繁集,長(zhǎng)度為k的頻繁集稱(chēng)為k-頻繁集。如果設(shè)定SUPmin為0.3,引例中{bread, milk}的支持度是0.5,所以是2-頻繁集。
定義五:關(guān)聯(lián)規(guī)則是一個(gè)蘊(yùn)含式:
R:X?YR: X \Rightarrow YR:X?Y
其中X?I,Y?I,并且X∩Y=?。表示項(xiàng)集X在某一交易中出現(xiàn),則導(dǎo)致Y以某一概率也會(huì)出現(xiàn)。用戶(hù)關(guān)心的關(guān)聯(lián)規(guī)則,可以用兩個(gè)標(biāo)準(zhǔn)來(lái)衡量:支持度和可信度。
定義六:關(guān)聯(lián)規(guī)則R的支持度是交易集同時(shí)包含X和Y的交易數(shù)與|D|之比。即:
support(X?Y)=(X∩Y).count∣D∣support(X\Rightarrow Y)=\frac{(X\cap Y).count}{|D|}support(X?Y)=∣D∣(X∩Y).count?
支持度反映了X、Y同時(shí)出現(xiàn)的概率。關(guān)聯(lián)規(guī)則的支持度等于頻繁集的支持度。
定義七:對(duì)于關(guān)聯(lián)規(guī)則R,可信度是指包含X和Y的交易數(shù)與包含X的交易數(shù)之比。即:
confidence(X?Y)=support(X?Y)support(X)confidence(X\Rightarrow Y)=\frac{support(X\Rightarrow Y)}{support(X)}confidence(X?Y)=support(X)support(X?Y)?
可信度反映了如果交易中包含X,則交易包含Y的概率。一般來(lái)說(shuō),只有支持度和可信度較高的關(guān)聯(lián)規(guī)則才是用戶(hù)感興趣的。
定義八:設(shè)定關(guān)聯(lián)規(guī)則的最小支持度和最小可信度為SUPminSUP_{min}SUPmin?和CONFminCONF_{min}CONFmin?。規(guī)則R的支持度和可信度均不小于SUPminSUP_{min}SUPmin?和CONFminCONF_{min}CONFmin?,則稱(chēng)為強(qiáng)關(guān)聯(lián)規(guī)則。關(guān)聯(lián)規(guī)則挖掘的目的就是找出強(qiáng)關(guān)聯(lián)規(guī)則,從而指導(dǎo)商家的決策。
這八個(gè)定義包含了關(guān)聯(lián)規(guī)則相關(guān)的幾個(gè)重要基本概念,關(guān)聯(lián)規(guī)則挖掘主要有兩個(gè)問(wèn)題:
參考文章:https://blog.csdn.net/OpenNaive/article/details/7047823
幸存者偏差
二戰(zhàn)期間,盟軍需要對(duì)戰(zhàn)斗機(jī)進(jìn)行裝甲加厚,以提高生還率,但由于軍費(fèi)有限,只能進(jìn)行局部升級(jí)。那么問(wèn)題來(lái)了,究竟哪個(gè)部位最關(guān)鍵,最值得把裝甲加厚來(lái)抵御敵方炮火呢?人們眾口不一,最后一致決定采用統(tǒng)計(jì)調(diào)查的方式來(lái)解決,即:仔細(xì)檢查每一駕戰(zhàn)斗機(jī)返回時(shí)受到的損傷程度,計(jì)算出飛機(jī)整體的受彈狀況,然后根據(jù)大數(shù)據(jù)分析決定。
不久,統(tǒng)計(jì)數(shù)據(jù)很快出爐:盟軍飛機(jī)普遍受彈最嚴(yán)重的地方是機(jī)翼,有的幾乎被打成了篩子;相反,受彈最輕的地方是駕駛艙及尾部發(fā)動(dòng)機(jī),許多飛機(jī)的駕駛艙甚至連擦傷都沒(méi)有。
正當(dāng)所有人拿著這份確鑿無(wú)疑的報(bào)告準(zhǔn)備給機(jī)翼加厚裝甲時(shí),統(tǒng)計(jì)學(xué)家Abraham Wald阻攔了他們,同時(shí)提出了一個(gè)完全相反的方案:加厚駕駛艙與尾部。理由非常簡(jiǎn)單:這兩個(gè)位置中彈的飛機(jī),都沒(méi)有回來(lái)。換言之,它們是一份沉默的數(shù)據(jù)——“死人不會(huì)說(shuō)話(huà)”。
最后,盟軍高層紛紛聽(tīng)取了這個(gè)建議,加固了駕駛艙與尾部,果然空中戰(zhàn)場(chǎng)局勢(shì)得以好轉(zhuǎn),駕駛員生還率也大大提高。事實(shí)證明,這是一個(gè)無(wú)比英明的措施。
這個(gè)事例也被稱(chēng)作“幸存者偏差”(Survivorship bias)。它是一種典型的由于模型不當(dāng),導(dǎo)致的“數(shù)據(jù)說(shuō)謊”。
注:Abraham
Wald,1902~1950,生于奧匈帝國(guó),維也納大學(xué)博士。1938年為躲避納粹,移民美國(guó),哥倫比亞大學(xué)教授。Herman
Chernoff的導(dǎo)師。其子Robert M. Wald,為著名理論物理學(xué)家,芝加哥大學(xué)教授,黑洞理論的提出者之一。
關(guān)聯(lián)規(guī)則評(píng)價(jià)
“數(shù)據(jù)說(shuō)謊”的問(wèn)題很普遍。再看這樣一個(gè)例子,我們分析一個(gè)購(gòu)物籃數(shù)據(jù)中購(gòu)買(mǎi)游戲光碟和購(gòu)買(mǎi)影片光碟之間的關(guān)聯(lián)關(guān)系。交易數(shù)據(jù)集共有10,000條記錄,如表1所示:
| 買(mǎi)電影 | 4000 | 3500 | 7500 |
| 不買(mǎi)電影 | 2000 | 500 | 2500 |
| 列總計(jì) | 6000 | 4000 | 10000 |
假設(shè)我們?cè)O(shè)置得最小支持度為30%,最小自信度為60%。從上面的表中,可以得到:
support(買(mǎi)游戲光碟→買(mǎi)影片光碟)=4000/10000=40%support(買(mǎi)游戲光碟\to 買(mǎi)影片光碟)=4000/10000=40\%support(買(mǎi)游戲光碟→買(mǎi)影片光碟)=4000/10000=40%
confidence(買(mǎi)游戲光碟→買(mǎi)影片光碟)=4000/6000=66%confidence(買(mǎi)游戲光碟\to 買(mǎi)影片光碟)=4000/6000=66\%confidence(買(mǎi)游戲光碟→買(mǎi)影片光碟)=4000/6000=66%
這條規(guī)則的支持度和自信度都滿(mǎn)足要求,因此我們很興奮,我們找到了一條強(qiáng)規(guī)則,于是我們建議超市把影片光碟和游戲光碟放在一起,可以提高銷(xiāo)量。
可是我們想想,一個(gè)喜歡的玩游戲的人會(huì)有時(shí)間看影片么,這個(gè)規(guī)則是不是有問(wèn)題,事實(shí)上這條規(guī)則誤導(dǎo)了我們。在整個(gè)數(shù)據(jù)集中買(mǎi)影片光碟的概率p(買(mǎi)影片)=7500/10000=75%,而買(mǎi)游戲的人也買(mǎi)影片的概率只有66%,66%<75%恰恰說(shuō)明了買(mǎi)游戲光碟抑制了影片光碟的購(gòu)買(mǎi),也就是說(shuō)買(mǎi)了游戲光碟的人更傾向于不買(mǎi)影片光碟,這才是符合現(xiàn)實(shí)的。
從上面的例子我們看到,支持度和自信度并不總能成功濾掉那些我們不感興趣的規(guī)則,因此我們需要一些新的評(píng)價(jià)標(biāo)準(zhǔn),下面介紹幾種評(píng)價(jià)標(biāo)準(zhǔn):
相關(guān)性系數(shù)
相關(guān)性系數(shù)的英文名是Lift,這就是一個(gè)單詞,而不是縮寫(xiě)。
通俗解釋:提升度反映了“物品集XXX的出現(xiàn)”對(duì)物品集YYY的出現(xiàn)概率發(fā)生了多大的變化。
lift(X?Y)=supp(X∪Y)supp(X)×supp(Y)\mathrm{lift}(X\Rightarrow Y) = \frac{ \mathrm{supp}(X \cup Y)}{ \mathrm{supp}(X) \times \mathrm{supp}(Y) }lift(X?Y)=supp(X)×supp(Y)supp(X∪Y)?
lift(X?Y){>1,正相關(guān)=1,獨(dú)立<1,負(fù)相關(guān)\mathrm{lift}(X\Rightarrow Y)\begin{cases}>1, & 正相關(guān) \\ =1, & 獨(dú)立 \\ <1, & 負(fù)相關(guān) \\ \end{cases} lift(X?Y)??????>1,=1,<1,?正相關(guān)獨(dú)立負(fù)相關(guān)?
實(shí)際運(yùn)用中,正相關(guān)和負(fù)相關(guān)都是我們需要關(guān)注的,而獨(dú)立往往是我們不需要的。顯然:
lift(X?Y)=lift(Y?X)\mathrm{lift}(X\Rightarrow Y)=\mathrm{lift}(Y\Rightarrow X) lift(X?Y)=lift(Y?X)
確信度
Conviction的定義如下:
conv(X?Y)=1?supp(Y)1?conf(X?Y)\mathrm{conv}(X\Rightarrow Y) =\frac{ 1 - \mathrm{supp}(Y) }{ 1 - \mathrm{conf}(X\Rightarrow Y)}conv(X?Y)=1?conf(X?Y)1?supp(Y)?
它的值越大,表明X、Y的獨(dú)立性越小。
卡方系數(shù)
卡方系數(shù)是與卡方分布有關(guān)的一個(gè)指標(biāo)。參見(jiàn):
https://en.wikipedia.org/wiki/Chi-squared_distribution
χ2=∑i=1n(Oi?Ei)2Ei\chi^2 = \sum_{i=1}^n \frac{(O_i - E_i)^2}{E_i}χ2=i=1∑n?Ei?(Oi??Ei?)2?
注:上式最早是Pearson給出的。
公式中的QiQ_iQi?表示數(shù)據(jù)的實(shí)際值,EiE_iEi?表示期望值,不理解沒(méi)關(guān)系,我們看一個(gè)例子就明白了。
| 買(mǎi)電影 | 4000(4500) | 3500(3000) | 7500 |
| 不買(mǎi)電影 | 2000(1500) | 500(1000) | 2500 |
| 列總計(jì) | 6000 | 4000 | 10000 |
表2的括號(hào)中表示的是期望值。以第1行第1列的4500為例,其計(jì)算方法為:750010000×600010000×10000\frac{7500}{10000} \times \frac{6000}{10000} \times 10000100007500?×100006000?×10000。
經(jīng)計(jì)算可得表2的卡方系數(shù)為555.6。基于置信水平和自由度
(r?1)?(c?1)=(行數(shù)?1)?(列數(shù)?1)=1(r-1)*(c-1)=(行數(shù)-1)*(列數(shù)-1)=1(r?1)?(c?1)=(行數(shù)?1)?(列數(shù)?1)=1,查表得到自信度為(1-0.001)的值為6.63。
555.6>6.63,因此拒絕A、B獨(dú)立的假設(shè),即認(rèn)為A、B是相關(guān)的,而
E(買(mǎi)影片,買(mǎi)游戲)=4500>4000E(買(mǎi)影片,買(mǎi)游戲)=4500>4000E(買(mǎi)影片,買(mǎi)游戲)=4500>4000
因此認(rèn)為A、B呈負(fù)相關(guān)。
全自信度
all_confidence(A,B)=P(A∩B)max{P(A),P(B)}=min{P(B∣A),P(A∣B)}=min{confidence(A→B),confidence(B→A)}all\_confidence(A,B)=\frac{P(A\cap B)}{max\{P(A),P(B)\}}\\=min\{P(B|A),P(A|B)\}=min\{confidence(A\to B),confidence(B\to A)\} all_confidence(A,B)=max{P(A),P(B)}P(A∩B)?=min{P(B∣A),P(A∣B)}=min{confidence(A→B),confidence(B→A)}
對(duì)于前面的例子,
all_confidence(買(mǎi)游戲,買(mǎi)影片)=min{confidence(買(mǎi)游戲—>買(mǎi)影片),confidence(買(mǎi)影片—>買(mǎi)游戲)}=min{66%,53.3%}=53.3%all\_confidence(買(mǎi)游戲,買(mǎi)影片)=min\{confidence(買(mǎi)游戲—>買(mǎi)影片),confidence(買(mǎi)影片—>買(mǎi)游戲)\}=min\{66\%,53.3\%\}=53.3\% all_confidence(買(mǎi)游戲,買(mǎi)影片)=min{confidence(買(mǎi)游戲—>買(mǎi)影片),confidence(買(mǎi)影片—>買(mǎi)游戲)}=min{66%,53.3%}=53.3%
可以看出全自信度不失為一個(gè)好的衡量標(biāo)準(zhǔn)。
最大自信度
最大自信度則與全自信度相反。
max_confidence(A,B)=max{confidence(A→B),confidence(B→A)}max\_confidence(A,B)=max\{confidence(A\to B),confidence(B\to A)\}max_confidence(A,B)=max{confidence(A→B),confidence(B→A)}
Kulc
Kulc系數(shù)就是對(duì)兩個(gè)自信度做一個(gè)平均處理:
kulc(A,B)=confidence(A→B)+confidence(B→A)2kulc(A,B)=\frac{confidence(A\to B)+confidence(B\to A)}{2}kulc(A,B)=2confidence(A→B)+confidence(B→A)?
kulc系數(shù)是一個(gè)很好的度量標(biāo)準(zhǔn),稍后的對(duì)比我們會(huì)看到。
cosine距離
cosine(A,B)=P(A∩B)sqrt(P(A)?P(B))=sqrt(P(A∣B)?P(B∣A))=sqrt(confidence(A→B)?confidence(B→A))cosine(A,B)=\frac{P(A\cap B)}{sqrt(P(A)*P(B))}=sqrt(P(A|B)*P(B|A))\\=sqrt(confidence(A\to B)*confidence(B\to A))cosine(A,B)=sqrt(P(A)?P(B))P(A∩B)?=sqrt(P(A∣B)?P(B∣A))=sqrt(confidence(A→B)?confidence(B→A))
Leverage
Leverage(A,B)=P(A∩B)?P(A)P(B)Leverage(A,B) = P(A\cap B)-P(A)P(B)Leverage(A,B)=P(A∩B)?P(A)P(B)
不平衡因子
imbalance ratio的定義:
IR(A,B)=∣support(A)?support(B)∣(support(A)+support(B)?support(A∩B))IR(A,B)=\frac{|support(A)-support(B)|}{(support(A)+support(B)-support(A\cap B))} IR(A,B)=(support(A)+support(B)?support(A∩B))∣support(A)?support(B)∣?
評(píng)價(jià)指標(biāo)間的比較
這里有這么多的評(píng)價(jià)標(biāo)準(zhǔn),究竟哪些好,哪些能夠準(zhǔn)確反應(yīng)事實(shí),我們來(lái)看一組對(duì)比。
| coffee | MC | MC | C |
| coffee | MC | MC | C |
| 列總計(jì) | M | M | total |
上表中,M表示購(gòu)買(mǎi)了牛奶、C表示購(gòu)買(mǎi)了咖啡, M 表示不購(gòu)買(mǎi)牛奶,C 表示不購(gòu)買(mǎi)咖啡,下面來(lái)看6個(gè)不同的數(shù)據(jù)集,各個(gè)度量標(biāo)準(zhǔn)的值
| D1 | 10000 | 1000 | 1000 | 100000 | 112000 | 0.91 | 0.91 | 90557 | 9.26 | 0.91 | 0.91 | 0.91 | 0.91 |
| D2 | 10000 | 1000 | 1000 | 100 | 12100 | 0.91 | 0.91 | 0 | 1.00 | 0.91 | 0.91 | 0.91 | 0.91 |
| D3 | 100 | 1000 | 1000 | 100000 | 102100 | 0.09 | 0.09 | 670 | 8.44 | 0.09 | 0.09 | 0.09 | 0.09 |
| D4 | 1000 | 1000 | 1000 | 100000 | 103000 | 0.50 | 0.50 | 24740 | 25.75 | 0.50 | 0.50 | 0.50 | 0.50 |
| D5 | 1000 | 100 | 10000 | 100000 | 111100 | 0.91 | 0.09 | 8173 | 9.18 | 0.09 | 0.91 | 0.50 | 0.29 |
| D6 | 1000 | 10 | 100000 | 100000 | 201010 | 0.99 | 0.01 | 965 | 1.97 | 0.01 | 0.99 | 0.50 | 0.10 |
我們先來(lái)看前面四個(gè)數(shù)據(jù)集D1-D4,從后面四列可以看出,D1,D2中milk與coffee是正相關(guān)的,而D3是負(fù)相關(guān),D4中是不相關(guān)的,大家可能覺(jué)得,D2的lift約等于1應(yīng)該是不相關(guān)的,事實(shí)上對(duì)比D1你會(huì)發(fā)現(xiàn),lift受MC 的影響很大,而實(shí)際上我們買(mǎi)牛奶和咖啡的相關(guān)性不應(yīng)該取決于不買(mǎi)牛奶和不買(mǎi)咖啡的交易記錄,這正是lift和卡方的劣勢(shì),容易受到數(shù)據(jù)記錄大小的影響。而全自信度、最大自信度、Kulc、cosine與MC 無(wú)關(guān),它們不受數(shù)據(jù)記錄大小影響。卡方和lift還把D3判別為正相關(guān),而實(shí)際上他們應(yīng)該是負(fù)相關(guān),M=100+1000=1100,如果這1100中有超過(guò)550的購(gòu)買(mǎi)coffee那么就認(rèn)為是正相關(guān),而我們看到MC=100<550,可以認(rèn)為是負(fù)相關(guān)的。
上面我們分析了全自信度、最大自信度、Kulc、cosine與空值無(wú)關(guān),但這幾個(gè)中哪一個(gè)更好呢?我們看后面四個(gè)數(shù)據(jù)集D4-D6,all_conf與cosine得出相同的結(jié)果,即D4中milk與coffee是獨(dú)立的,D5、D6是負(fù)相關(guān)的,D5中support(C→M)=0.91support(C\to M)=0.91support(C→M)=0.91而support(M→C)=0.09support(M\to C)=0.09support(M→C)=0.09,這樣的關(guān)系,簡(jiǎn)單的認(rèn)為是負(fù)相關(guān)或者正相關(guān)都不妥,Kulc做平均處理倒很好,平滑后認(rèn)為它們是無(wú)關(guān)的,我們?cè)僖胍粋€(gè)不平衡因子IR(imbalance ratio):
IR(A,B)=∣support(A)?support(B)∣(support(A)+support(B)?support(A∩B))IR(A,B)=\frac{|support(A)-support(B)|}{(support(A)+support(B)-support(A\cap B))} IR(A,B)=(support(A)+support(B)?support(A∩B))∣support(A)?support(B)∣?
D4總IR(C,M)=0,非常平衡,D5中IR(C,M)=0.89,不平衡,而D6中IR(C,M)=0.99極度不平衡,我們應(yīng)該看到Kulc值雖然相同但是平衡度不一樣,在實(shí)際中應(yīng)該意識(shí)到不平衡的可能,根據(jù)業(yè)務(wù)作出判斷,因此這里我們認(rèn)為Kulc結(jié)合不平衡因子的是較好的評(píng)價(jià)方法。
另外weka中還使用 Conviction和Leverage。Leverage是不受空值影響,而Conviction是受空值影響的。
總結(jié)
本文介紹了9個(gè)關(guān)聯(lián)規(guī)則評(píng)價(jià)的準(zhǔn)則,其中全自信度、最大自信度、Kulc、cosine,Leverage是不受空值影響的,這在處理大數(shù)據(jù)集是優(yōu)勢(shì)更加明顯,因?yàn)榇髷?shù)據(jù)中想MC這樣的空記錄更多,根據(jù)分析我們推薦使用kulc準(zhǔn)則和不平衡因子結(jié)合的方法。
參考文章:https://www.cnblogs.com/fengfenggirl/p/associate_measure.html
總結(jié)
以上是生活随笔為你收集整理的【机器学习】数据挖掘算法——关联规则(一),相关概念,评价指标的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【机器学习】主元分析(PCA)以及与SV
- 下一篇: 【机器学习】数据挖掘算法——关联规则(二