关联规则挖掘

关联规则是数据挖掘中的一个重要分支,其主要研究目的是从各种数据集中发现模式,相关性,关联或因果结构。

关联规则有形如X→YX→Y 的蕴含表达式,其中X和Y是不相交的项集,即X∩Y=∅X∩Y=∅。

 

关联规则的三个指标

 

·Support(支持度)

表示同时包含A和B的事务占所有事务的比例。

公式:Support=P(A&B)

 

·Confidence(可信度)

表示使用包含A的事务中同时包含B事务的比例,即同时包含A和B的事务占包含A事务的比例。

公式表达:Confidence=P(A&B)/P(A)

 

·Lift(提升度)

 

表示“包含A的事务中同时包含B事务的比例”与“包含B事务的比例”的比值。

公式表达:

Lift=( P(A&B)/P(A))/P(B)=P(A&B)/P(A)/P(B)。

提升度反映了关联规则中的A与B的相关性,提升度>1且越高表明正相关性越高,提升度<1且越低表明负相关性越高,提升度=1表明没有相关性。

 

啤酒和尿布是关联规则中很有名的案例,我们以这个例子来说明关联规则的这三个指标。

 

总共有10000个消费者购买了商品,

其中购买尿布的有1000人,

购买啤酒的有2000人,

购买面包的有500人,

同时购买尿布和啤酒的有800人,

同时购买尿布的面包的有100人。

 

support=同时购买{A,B}的人数总人数

{尿布,啤酒}的支持度 = 800 / 10000 = 0.08

{尿布,面包}的支持度 = 100 / 10000 = 0.01

 

confidence(A−>B)=同时购买{A,B}的人数购买A的人数

confidence(B−>A)=同时购买{A,B}的人数购买B的人数

( 尿布 -> 啤酒 ) 的置信度 = 800 / 1000 = 0.8

( 啤酒 -> 尿布 ) 的置信度 = 800 / 20000= 0.4

 

lift=同时购买{A,B}的人数购买A的人数与购买B的人数的比值

( 尿布 -> 啤酒 ) 的置信度 = 800 / 1000 = 0.8

单独购买啤酒的比例=2000/10000=0.2

lift=0.8/0.2

在购买尿布的前提下,购买啤酒的比例升高了,说明购买尿布与购买啤酒具有关联性。

具体的应用之中,我们认为提升度>3才算作值得认可的关联。

在这个案例中,提升度=4,说明购买尿布确实与购买啤酒是有关联的。

 

 

关联规则的分类

 

根据不同的情况,关联规则可以进行不同的分类。
 
1.根据规则中所处理的变量的类型,关联规则可以分为布尔型和数值型。

布尔型关联规则处理的值都是离散的、种类化的,它显示了这些变量之间的关系。数值型关联规则可以对数值型字段,原始数据进行处理,包含多种类型的变量。

例如:性别=“女”=>职业=“会计” ,是布尔型关联规则;性别=“女”=>avg(收入)=3000,涉及的收入是数值类型,所以是一个数值型关联规则。


 
2.基于规则中数据的抽象层次,可以分为单层关联规则和多层关联规则。
 
在单层的关联规则中,所有的变量都没有考虑到现实的数据是具有多个不同的层次的;而在多层的关联规则中,对数据的多层性已经进行了充分的考虑。例如:IBM台式机=>Sony打印机,是一个细节数据上的单层关联规则;台式机=>Sony打印机,是一个较高层次和细节层次之间的多层关联规则。


 
3.基于规则中涉及到的数据的维数,关联规则可以分为单维的和多维的。
 
在单维的关联规则中,我们只涉及到数据的一个维,处理单个属性中的一些关系,如用户购买的物品。多维的关联规则中要处理的数据将会涉及多个维,处理各个属性之间的某些关系。例如:啤酒=>尿布,这条规则只涉及到用户的购买的物品是单维的关联规则;性别=“女”=>职业=“秘书”,这条规则就涉及到两个字段的信息,是多维的一条关联规则。

 

关联规则挖掘的相关算法

·Apriori算法

Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。

其核心是基于两阶段频集思想的递推算法。

https://mmbiz.qpic.cn/mmbiz_png/JJbONXXaqJwHhA7jyiboqQolJ95O3FxArhK1pjCNxRaflWzK3iaeGoQqHqticWE9PtBsiaKz0VymJSYE2pqeDHZibrg/640?wx_fmt=png

算法的基本思想:

首先找出所有的频集,这些项集出现的频繁性至少和预定义的最小支持度一样;

然后由频集产生强关联规则,这些规则必须满足最小支持度和最小可信度。

 

·AprioriTid算法

AprioriTid算法对Apriori算法做了调整,它的特点是在第一次遍历数据库D之后,就不再使用数据库来计算支持度,而是用集合Ck来完成。

https://mmbiz.qpic.cn/mmbiz_png/JJbONXXaqJwHhA7jyiboqQolJ95O3FxArAJBMffnNHEnxtXyN7buX5CU4fQccYUC3lUwVOI6O6HiaxEqicvWXQr0g/640?wx_fmt=png

基本思想:

跟Apriori算法的步骤基本相同,只是在第一次通过之后,数据库不用于计算候选项集;

生成另一个集合C',其中每个成员具有每个事务的TID以及该事务中存在的大项集,这个集用于计算每个候选项集。

 

·SETM算法

https://mmbiz.qpic.cn/mmbiz_png/JJbONXXaqJwHhA7jyiboqQolJ95O3FxArOia1lEfcNbYJPXKibzSXhcSfnR5aoU36QhTl8dEROBotOEW2sKATAXPQ/640?wx_fmt=png

基本思想:

候选项目集在扫描数据库时即时生成,但在通过结束时计算,新的候选项集生成事务的TID与候选项集一起保存在顺序结构中;

在结束时,通过聚合该顺序结构来确定候选项集的支持计数。

 

·FP-tree算法

FP-tree算法又称FP-Growth算法,是在不使用候选代的情况下查找频繁项集的另一种方法,从而提高了性能。

其核心是使用名为频繁模式树(FP-tree)的特殊数据结构,保留了项集关联信息。

https://mmbiz.qpic.cn/mmbiz_png/JJbONXXaqJyIYqUpEjCwFz1A9hNkIWvZuOuwsc3iaBRiarrzdq16hiaNH2AN0Tibbvsdz6QLG9MOsvGEF87zMgfezA/640?wx_fmt=png

基本思想:

首先压缩输入数据库,创建一个FP树实例来表示频繁项;

然后将压缩数据库分成一组条件数据库,每个条件数据库与一个频繁模式相关联;

最后将每个数据库进行单独挖掘。

 

 

关联规则挖掘的主要应用

·市场篮子分析

这是关联挖掘最典型的例子,收集顾客在一次销售中所购买商品的数据,该数据库称为“市场购物篮”数据库,由过去交易的大量记录组成。由数据挖掘出商品购买之间的关联性,以让商店能够调整产品的布局或者形成捆绑销售,获取更多的利润。

 

·医疗诊断

医生诊断具有一定的主观性,有些错误范围可能会导致不可靠的诊断。使用关联挖掘,确定疾病与各种因素、症状的相关的概率,以帮助医生更好地治愈患者。

 

·人口普查数据

政府机构会收集大量的人口普查数据,通过数据挖掘民众需求,以帮助政府规划有效的公共服务和帮助公共企业,建立健全的公共政策。

 

·蛋白质序列

之前有人认为蛋白质的氨基酸序列是随机的,序列的轻微变化可导致结构改变,这可能改变蛋白质的功能,但现在人们认为它们不是。Nitin Gupta,Nitin Mangal,Kamal Tiwari和Pabitra Mitra已经破译了蛋白质中存在的不同氨基酸之间的关联性质。在人工蛋白质的合成过程中,对这些关联规则的了解和理解将非常有用。

更多数据科学知识,请关注公众号:DC学习助手

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值