在所分析的10000个事务中,6000个事务包含计算机游戏,7500个包含游戏机游戏,4000个事务同时包含两者。
关联规则(计算机游戏,游戏机游戏) 支持度为0.4,看似很高,但其实这个关联规则是一个误导。
在用户购买了计算机游戏后有 (4000÷6000)0.667 的概率的去购买游戏机游戏,而在没有任何前提条件时,用户反而有(7500÷10000)0.75的概率去购买游戏机游戏,也就是说设置了购买计算机游戏这样的条件反而会降低用户去购买游戏机游戏的概率,所以计算机游戏和游戏机游戏是相斥的。
在理论上 把 0.667除以0.75称为提升度,具体公式:
P(B|A)/P(B)
称为A条件对于B事件的提升度,如果该值=1,说明两个条件没有任何关联,如果<1,说明A条件(或者说A事件的发生)与B事件是相斥的, 一般在数据挖掘中当提升度大于3时,我们才承认挖掘出的关联规则是有价值的。
提升度是一种比较简单地判断手段,在实际应用中它受零事务的影响较大,零事务在本例中可以理解为既没有买计算机游戏也没有买游戏机游戏的事务,其值为 10000-4000-2000-3500=500,很小,但在现实中,这个值往往其实是很大的。如果保持其他数据不变,把10000个事务改成1000000个事务,那么计算出的提升度就会明显增大,此时的零事务很大(1000000-4000-2000-3500),可见提升度是与零事务有关的。
根据《数据挖掘概念与技术》一书的说法,常用的判断方法 还不是提升度,而是 KULC度量+不平衡比(IR) 。他们可以有效的降低零事务造成的影响。
下面补充一下KULC和IR的说明:
KULC=0.5*P(B|A)+0.5*P(A|B)
该公式表示 将两种事件作为条件的置信度的均值,避开了支持度的计算,因此不会受零和事务的影响。在上例中,KULC值= (4000/6000+4000/7500)/2=0.6
IR=P(B|A)/P(A|B) ,IR用来指示一种情况,比如在上例中6000个事务包含计算机GAME,75000个包含游戏机GAME,同时购买依旧为4000
则:
KULC=0.5*(4000/75000+4000/6000)=0.36
IR=4000/6000/(4000/75000)=12.5
这说明这两个事务的关联关系非常不平衡,购买计算机GAME的顾客很可能同时会买游戏机GAME,而购买了游戏机GAME的用户不太会再去买计算机GAME