直接用实例来解释概念更清楚一些,加入数据库中存在10条交易记录(Transaction),具体如下表所示:
交易ID(TID)
|
购买商品(Items)B:bread C:cream M:milk T:tea
|
T01
|
B C M T
|
T02
|
B C M
|
T03
|
C M
|
T04
|
M T
|
T05
|
B C M
|
T06
|
B T
|
T07
|
B M T
|
T08
|
B T
|
T09
|
B C M T
|
T10
|
B M T
|
几个概念:
项目(item):其中的B C M T 都称作item。
项集(itemset):item的集合,例如{B C}、{C M T}等,每个顾客购买的都是一个itemset。其中,itemset中item的个数成为itemset的长度,含有k个item的itemset成为K-itemset.
交易(transaction):定义I为所有商品的集合,在这个例子中I={B C M T}。每个非空的I子集都成为一个交易。所有交易构成交易数据库D。
项集支持度(support):回个一下项集概念,项集X的支持度定义为:项集X在交易库中出现的次数(频数)与所有交易次数的比。例如T02的项集X={B C M},则support(X)=2/10=0.2。项集支持度也就是项集出现的频率。
频繁集(frequent itemset):如果一个项集的支持度达到一定程度(人为规定),就称该项集为频繁项集,简称频繁集。这个人为规定的界限就被叫做项集最小支持度(记为supmin)。更通俗地说,如果某个项集(商品组合)在交易库中出现的频率达到一定值,就称作频繁集。如果K项集支持度大于最小支持度,则称作K-频繁集,记为Lk。
关联规则(association rule):R:X→Y
其中,X、Y都是I的子集,且X、Y交集为空。这一规则表示如果项集X在某一交易中出现,则会导致项集Y以某一概率同时出现在这一交易中。例如R1:{B}→{M} 表示如果面包B出现在一个购物篮中,则牛奶M以某一概率同时出现在该购物篮中。X称为条件(antecedent or left-hand-side LHS),Y称为结果(consequence or right hand side RHS)。衡量某一关联规则有两个指标:关联规则的支持度(support)和可信度(confidence)。
关联规则的支持度:交易库中同时出现X、Y的交易数与总交易数之比,记为support(X→Y)。其实也就是两个项集{X Y}出现在交易库中的频率。
关联规则的可信度:包含X、Y的交易数与包含X的交易数之比,记为confidence(X→Y)。也就是条件概率:当项集X出现时,项集Y同时出现的概率,P(Y|X)。
Conviction:conv(X→Y)=【 1-sup(Y)】/【1-conf(X→Y)】表示X出现而Y不出现的概率。也就是规则预测错误的概率。
综合一下,关联规则R就是:如果项集X出现在某一购物篮,则项集X同时出现在这一购物篮的概率为confidence (X→Y)。
如果我们定义一个关联规则最小支持度和关联规则最小可信度,当某一规则两个指标都大于最低要求时,则成为强关联规则。反之成为弱关联规则。
例如,在上表中,对于规则R:B → M,假设这一关联规则的支持度为6/10=0.6,表示同时包含C和M的交易数占总交易的60%.可信度为6/8=0.75,表示购买面包B的人,有75%可能性同时购买牛奶。也就是当抽样样本足够大时,每100个人当中,有75个人同时买了面包和牛奶,两外25个人只买其中一样。
Rakesh Agrawal
关联规则的发现一般分为两个步骤:
1)根据给定的最小项集支持度,找出所有满足条件的项集,即频繁项集。
2)根据最小可信度,在所有频繁集中找出符合条件的关联规则。
步骤1中,可能的项集组合(itemset)有2n-1(排除空集),找出所有频繁集不是一个简单的任务。注意的是,如果某个项集X是频繁集,则X的子集也必定为频繁集。
关联规则分类:
数据的维度:单维和多维,例如面包-->牛奶为单维关联规则。而 性别=“女”--->职业=“教师”为多维。
数据的抽象层次:单层关联规则和多层关联规则。 单层的还是面包牛奶的例子,多层的比如:面包--->伊利牌牛奶。
变量的类型:布尔型关联规则和数值型。布尔型:性别=“女”--->职业=“教师。 数值型:工龄=“5”----->平均工资=“3000”
频繁项集常用挖掘算法:Apriori算法、FP-growth算法、Eclat算法
在IBM SPSS Modeler中,用简单的数据集测试Apriori算法。详细请参考:
http://blog.sciencenet.cn/blog-71538-682195.html
分享到:
相关推荐
关联规则挖掘在生活中有很多使用场景,不仅是商品的捆绑销售,甚至在挑选演员决策上,你也能通过关联规则挖掘看出来某个导演选择演员的倾向。 如何使用Apriori工具包 Apriori虽然是十大算法之一,不过在sklearn工具...
电子科技大学数据挖掘课程 第二次实验 关联规则挖掘 实验报告及代码实现 包括频繁项集获取过程 关联规则获取过程 自认为理解&写得还是很透彻的哈哈哈 没看懂可以来找我~
这是两个关于关联规则挖掘的合成数据集,数据量在10万左右,适用于关联规则分析。
针对数据集中的关联规则挖掘问题,提出一种基于改进量子粒子群优化(improved quantum particle swarm optimization,IQPSO)算法的关联规则挖掘方法。首先,将数据实例以量子比特形式表示,构建一个基于量子进化算法...
Apriori关联规则挖掘Apriori关联规则挖掘Apriori关联规则挖掘Apriori关联规则挖掘Apriori关联规则挖掘Apriori关联规则挖掘Apriori关联规则挖掘Apriori关联规则挖掘
Apriori关联规则在中医证型中的应用,有对应数据及说明文档,可以运行
目前 ,医治疗一般都是...通过关联规则算法 挖掘各,医证素与乳腺癌TNM分期之间的关系。探 索不同分期阶段的三阴乳腺癌患者的,医证素分布规律 以及截断病变 发展、先期干预的治疗思路 指导三阴乳腺癌的,医临床治疗。
用python进行关联规则挖掘,欢迎大家来和我一起交流心得!
关联规则挖掘算法apriori算法的实现
对其Excel数据进行关联规则分析之前需要对数据进行预处理:将表头去掉,并保存你所需要的数据,导入你所需要分析的Excel地址和‘Sheet1’,所得出的数据,即是你所需要的结果。
Hadoop分布式文件系统(HDFS)设计之初是针对大文件的处理,但无法高效地针对小文件进行存储,因此提出了一种基于关联规则挖掘的高效的小文件存储方法——ARMFS。ARMFS通过对Hadoop系统的审计日志进行关联规则挖掘,获得...
关联规则挖掘 FP-tree关联规则挖掘 FP-tree关联规则挖掘 FP-tree关联规则挖掘 FP-tree关联规则挖掘 FP-tree
Apriori关联规则挖掘 C#代码写的
先验法关联规则挖掘综述以及其实现先验法关联规则挖掘综述以及其实现先验法关联规则挖掘综述以及其实现先验法关联规则挖掘综述以及其实现先验法关联规则挖掘综述以及其实现
关联规则挖掘过程中,大量候选项集的产生成为影响挖掘效率提高的一个主要因素。针对这一问题,提出了一种基于树结构的关联规则挖掘算法。该算法运用关联矩阵将频繁项集映射到树结构中存储,并利用树中包含部分频繁项...
大型数据库中的关联规则挖掘,大型数据库中的关联规则挖掘,大型数据库中的关联规则挖掘
关联规则挖掘是数据挖掘的一个重要分支,但随着数据的快速增长,传统关联规则挖掘算法不能很好地适应大数据的要求,需要在分布式、并行计算的平台上寻找突破。Spark是专门为大数据处理而设计的一个适合迭代运算的...
中医证型关联规则挖掘
10.1 关联规则基本概念 ...10.6 多层关联规则挖掘 10.7 多维关联规则挖掘 10.8 约束性关联规则挖掘 10.9 数量关联规则挖掘 10.10 负关联规则挖掘算法 10.11 加权关联规则挖掘算法 10.12 应用实例分析 10.13 小结
近年来国内外学者对关联规则进行了大量的研究,为深入理解关联...其次从串行和并行两个角度总结了关联规则挖掘的一般方法,概述并分析了一些典型的关联规则挖掘模式;最后讨论了关联规则挖掘质量改善问题及领域应用。