关联分析: 什么意思、例子案例
当数据集中的属性取值之间存在某种规律时,则表明数据属性间存在某种关联。数据关联是数据集中一类重要的可被发现的知识,反映了事件之间依赖或相关性的知识。
最为典型的关联规则例子是“尿布与啤酒”的故事:
沃尔玛数据仓库里集中了其各门店的详细原始交易数据。在这些原始交易数据的基础上,沃尔玛利用数据挖掘方法对这些数据进行分析和挖掘。一个意外的发现是:跟尿布一起购买最多的商品竟然是啤酒。经过大量实际调查和分析,揭示了一种隐藏在“尿布与啤酒”背后的美国人的行为模式。在美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,而他们中有30%~40%的人同时也为自己买一些啤酒。产生这一现象的原因是:美国的太太们经常叮嘱他们的丈夫下班后为小孩购买尿布,而丈夫们在买完尿布后又随手带回了他们喜欢的啤酒。
关联可分为简单关联、时序关联和因果关联。关联分析中最重要的内容是关联规则的挖掘研究,关联规则用于描述在一个数据集中一个数据与其他数据之间的相互依存性和关联性。关联规则从事务、关系数据的集合对象中发现频繁模式、关联规则、相关性或因果结构。通常关联规则分析过程主要包含以下两个阶段。
第一阶段,从资料集合中找出所有的高频项目组;第二阶段,再由这些高频项目组中产生关联规则。
关联规则分析的算法有很多种,接下来介绍一种最常用的Apriori算法。Apriori算法是一种使用候选项集找频繁项集的方法。此处,“频繁项集”是指所有支持度大于最小支持度的“项集”。Apriori算法的基本步骤如下。
第1步,找出所有的“频集”,每个“频集”出现的频繁性至少与预定义的最小支持度一样。
第2步,由频集产生强关联规则,这些规则必须满足最小支持度和最小可信度。
第3步,使用第1步找到的频集产生期望的规则,即产生只包含集合项的所有规则,其中每一条规则的右部只有一项,可以采用规则定义方法。一旦这些规则被生成,那么只有那些大于用户给定的最小可信度的规则才被留下来。为了生成所有频集,可以使用递推方法。
Apriori算法采用了逐层搜索的迭代方法,其优点是:算法简单明了,没有复杂的理论推导,也易于实现。但是,Apriori算法存在以下一些难以克服的缺陷。
1)对数据库的扫描次数过多。
2)会产生大量的中间项集。
3)采用唯一支持度。
4)算法的适应面窄。