关联规则(二)强关联规则一定就是用户感兴趣的规则吗 博客分类: 数据分析/挖掘 关联规则强关联规则提升度
关联规则算法 Apriori 表明 , 当蕴含式 A->B 满足最小支持度阈值 min_support 和最小置信度阈值 min_confidence 时,则 A->B 属于强关联规则,规则中包含用户感兴趣的知识。
但真的是这样吗?让我们先看个例子。
假设某家商场只卖两种商品: CD 机和 Mp3 两种音乐播放器,每天的交易量有 10000 单,其中 6000 单中包含 CD 机, 7000 单中包含 Mp3 , 3000 单中既包含 CD 又包含 Mp3 。 min_support=0.2, min_confidence=0.4
则规则 CD->Mp3 的支持度和置信度分别为
support=6000/10000=0.6> min_support
Confidence=3000/6000=0.5> min_confidence
因此 CD->Mp3 属于强关联规则,按照 Apriori 算法的思路可以推导出购买 CD 机的顾客通常愿意再购买 Mp3 。
但实际上真的是这样吗?我们尝试做这样一个假设,如果该商店中如果不卖 CD 机的话,那么 mp3 的交易量会不会下降,如果下降说明 CD 机的销售会促进 mp3 的交易量;如果持平,则认为 Mp3 的销售和 CD 机的销售是两个独立事件,互不影响;如果上升,则认为 CD 机的的销售阻碍 Mp3 的交易量。
在概率论中,假如两个事件 A 和 B 相互独立,那么 A 和 B 同时发生的概率应该等于 A 事件发生的概率乘以 B 事件发生的概率,即 P(AB)=P(A)P(B) ,A 事件和B 事件的存在互不影响。
如果 P(AB)>P(A)P(B), 说明 A 和 B 同时发生的概率大于 A 和 B 单独发生概率的乘积,那么 P ( A|B ) = P(AB)/P(B)>P(A)P(B)/P(B)=P(A), 也就是说当 B 发生时, A 发生的概率会大于 A 单独发生时的概率,这就是所谓的 A 事件的发生会促进 B 事件的发生 。
如果 P(AB)<P(A)P(B), 说明 A 和 B 同时发生的概率小于 A 和 B 单独发生概率的乘积,那么 P ( A|B ) = P(AB)/P(B)<P(A)P(B)/P(B)=P(A), 也就是说当 B 发生时, A 发生的概率会小于 A 单独发生时的概率,这就是所谓的 A 事件的发生会阻碍 B 事件的发生 。
回到刚才的例子,我们可以发现 P(CD&Mp3)=3000/10000=0.3,P(CD)P(Mp3)=(6000/10000)*(7000/10000)=0.42, 即 P(CD&Mp3)< P(CD)P(Mp3) ,CD 机的交易其实会阻碍 Mp3 的交易量。
所以说,只凭支持度和置信度去衡量规则之间的关联关系是具有欺骗性的。因此,在前面两种度量标准的前提下还引入了第三种度量概念,称为提升度, 用来体现规则 A->B 中 A 和 B 的相关性:
Lift(A,B)=P(AB)/P(A)P(B)
如果 Lift(A,B)<1, 则 A 的出现和 B 的出现是负相关的,即相互阻碍;如果 Lift(A,B)>1, 则 A 和 B 是正相关,意味着一个的出现蕴含另一个的出现;如果 Lift(A,B)=1 ,说明 A 和 B 是相互独立。
当然,还有其他一些度量概念可以用于衡量相关性,比如 X2 ,全置信度和余弦度量,有兴趣的同学可以进一步了解下。