关联分析中的支持度、置信度和提升度

1.支持度(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}的事务集的个数(个数也叫次数)。    

2.置信度 (Confidence)

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

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

3.提升度(Lift)

    提升度表示含有X的条件下,同时含有Y的概率,与Y总体发生的概率之比。

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

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

关联分析中的支持度、置信度和提升度_第1张图片

表(1)年货购买表

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

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

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

    分析:

         设X= {买茶叶},Y={买咖啡},则规则”茶叶→咖啡“表示”即买了茶叶,又买了咖啡“,

        1)对甲组,有:

               Sup1(X→Y) = Num(XUY)/Num(I) = 450/500 = 90%
               Conf1(X→Y) = Num(XUY)/Num(X) = 450/500 = 90%

       从甲组可以看出,{X,Y}有比较强的相关性。

          2)对乙组,有:

               Sup2(X→Y) = Num(XUY)/Num(I) = 0/500 = 0%
               Conf2(X→Y) = Num(XUY)/Num(X) = 0/0 = 0%

         从乙组可以看出,{X,Y}没有相关性。

          3) 从总体上,讨论{X,Y}有没有相关性,可以使用总体的Lift{X,Y}提升度来判别。

           则总的支持度、置信度、提升度,分别如下: 

                 ”茶叶→咖啡“总的支持度为: Sup{X→Y} = Num(XUY)/Num(all) = 450/1000 = 45%

                 ”茶叶→咖啡“总的置信度度为: Conf{X→Y} = Num(XUY)/Num(X) = 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的出现无影响。也就是说,顾客在历史上购买了茶叶,不能推出他(她)在当下会购买咖啡。由于风俗或文化差异,有些人就只喜欢喝咖啡,有些人只喜欢喝茶,而同时喜欢这2种饮品的人比较少。即规则”茶叶→咖啡“不成立,或者说关联性很小,几乎没有,虽然它置信度高达90%,但它不是一条有效的关联规则

        满足最小支持度和最小置信度的规则,叫做“强关联规则”。然而,强关联规则里,也分有效的强关联规则和无效的强关联规则。

        如果Lift(X→Y)>1,则规则“X→Y”是有效的强关联规则。

        如果Lift(X→Y) <=1,则规则“X→Y”是无效的强关联规则。

        特别地,如果Lift(X→Y) =1,则表示X与Y相互独立。

  

你可能感兴趣的:(电脑,R语言,R语言,算法)