首页 > 技术文章 > 数据挖掘复习笔记(三、关联规则分析)

Wyuqing 2017-12-07 14:28 原文

1.关联规则分析的定义

关联分析(Association Analysis)用于发现隐藏在大型数据集中的令人感兴趣的联系。联系的表示方式一般为关联规则或频繁项集,例:{尿布}→{啤酒}。

2.关联规则分析的基本概念

项集:项的集合称为项集。一个包含k个数据项的项集就称为k−项集。

项集的支持度:整个数据集中包含该项集的事务数

关联规则:形如X –> Y 的蕴涵式,其中X,Y不相交。

关联规则的置信度:对于蕴含式X→Y,置信度为P(Y/X)=P(XY)/P(X)=support(X∪Y)/support(X)=support_count(X∪Y)/support_count(X),

上式表明:关联规则置信度通过项集的支持度计算得出

3.关联分析的任务

找出数据集中隐藏的强规则,通常分为两个步骤,首先在数据集中找出频繁项集(支持度大于实现给定的阈值),然后从频繁项集中提取所有高置信度的规则。

4.频繁项集发现的经典算法

经典的发现频繁项集的算法:Apriori算法。

Apriori算法具有一个Apriori性质,即先验原理来控制候选项集的指数增长。

Apriori性质(先验原理):如果一个项集是频繁的,则它的所有子集也是频繁的,相反:如果一个项集是非频繁的,则它的所有超集也一定是非频繁的。

算法过程主要分为连接和剪枝

5.强关联规则的生成

设存在频繁项集X={A,B,C},则由X可产生的非空真子集为{A,B},{A,C},{B,C},{A},{B},{C},进而得出的6个关联规则:

{A,B}→C,{A,C}→B,{B,C}→A,C→{A,B},B→{A,C},A→{B,C}。

然后分别计算每个规则的置信度,当置信度大于给定阈值时,则关联规则为强关联规则。强关联规则同时满足最小支持率和最小置信度。

6.关联规则的评估

  • 支持度(Support)

  支持度表示项集{X,Y}在总项集里出现的概率。公式为:

             Support(X→Y) = P(X,Y) / P(I) = P(X∪Y) / P(I) = num(XUY) / num(I)

 其中,I表示总事务集。num()表示求事务集里特定项集出现的次数。  

            比如,num(I)表示总事务集的个数

                  num(X∪Y)表示含有{X,Y}的事务集的个数(个数也叫次数)。    

  • 置信度 (Confidence)

    置信度表示在先决条件X发生的情况下,由关联规则”X→Y“推出Y的概率。即在含有X的项集中,含有Y的可能性,公式为:

                   Confidence(X→Y) = P(Y|X)  = P(X,Y) / P(X) = P(XUY) / P(X)

  • 提升度(Lift)

    提升度表示X发生的条件下,同时Y发生的概率,与不考虑X的条件下Y发生的概率之比。

                   Lift(X→Y) = P(Y|X) / P(Y)

满足最小支持度和最小置信度的关联规则称为强关联规则,然而强关联规则并不一定是有效的规则。强关联规则是否有效,取决于提升度Lift。

Lift(X→Y)≤1,关联规则X→Y无效。特别的,当Lift(X→Y)=1,X与Y相互独立。

Lift(X→Y)>1时,关联规则X→Y有效。Lift(X→Y)越大,表示X的发生对Y发生的提升度越大,X和Y的关联性越强。

 eg1.

已知有1000名顾客买年货,分为甲乙两组,每组各500人,其中甲组有500人买了茶叶,同时又有450人买了咖啡;乙组有450人买了咖啡,如表所示:

分组 买茶叶人数 买咖啡人数
甲组(500人) 500 450
乙组(500人) 0 450

试求解             1)”茶叶→咖啡“的支持度

                   2) "茶叶→咖啡"的置信度

                   3)”茶叶→咖啡“的提升度

分析:

         设X= {买茶叶},Y={买咖啡},则规则”茶叶→咖啡“表示”即买了茶叶,又买了咖啡“,于是,”茶叶→咖啡“的支持度为

               Support(X→Y) = 450 / 500 = 90%

        "茶叶→咖啡"的置信度为

               Confidence(X→Y) = 450 / 500 = 90%

        ”茶叶→咖啡“的提升度为

               Lift(X→Y) = Confidence(X→Y) / P(Y) = 90% /  ((450+450) / 1000) = 90% / 90% = 1

         由于提升度Lift(X→Y) =1,表示X与Y相互独立,即是否有X,对于Y的出现无影响。也就是说,是否购买咖啡,与有没有购买茶叶无关联。即规则”茶叶→咖啡“不成立,或者说关联性很小,几乎没有,虽然它的支持度和置信度都高达90%,但它不是一条有效的关联规则。

 

 

 

推荐阅读