直接用实例来解释概念更清楚一些,加入数据库中存在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算法是一种经典的关联规则挖掘算法,它通过迭代生成候选规则并计算其支持度,逐步减少不满足条件的规则,直到找到所有满足阈值的强规则。 除了Apriori,还有其他算法如FP-Growth、Eclat等,它们在处理大规模...
本实验报告主要聚焦于使用Apriori算法进行关联规则挖掘,这是由Rakesh Agrawal和Ramakrishnan Srikant在1994年提出的经典算法。此算法主要应用于零售数据分析,例如发现顾客购买商品之间的关联性。 Apriori算法的...
这个过程通常涉及使用Python等编程语言,结合相应的库如`pandas`进行数据预处理,然后利用`mlxtend`或`apriori`等库进行关联规则挖掘。现在,我们深入探讨如何使用Python进行Excel数据的预处理以及执行关联规则分析...
关联规则挖掘是一种数据挖掘技术,常用于发现数据集中项集之间的有趣关系,例如购买行为中的商品关联。在这个实例中,关联规则被用来探究中医证素(如肝气郁结、热毒蕴结等)与乳腺癌TNM分期之间的联系。TNM分期是...
关联规则挖掘在生活中有很多使用场景,不仅是商品的捆绑销售,甚至在挑选演员决策上,你也能通过关联规则挖掘看出来某个导演选择演员的倾向。 如何使用Apriori工具包 Apriori虽然是十大算法之一,不过在sklearn工具...
在IT领域,数据挖掘是一项重要的技术,用于从大量数据中发现有价值的信息和模式。关联规则挖掘是数据挖掘的一种方法...关联规则挖掘在推荐系统、市场篮子分析等领域有广泛的应用,是数据分析和数据挖掘的关键技术之一。
关联规则挖掘是数据挖掘领域中的一个关键方法,用于发现大量数据集中的有趣关系。Apriori算法是关联规则挖掘中最经典、最广泛使用的算法之一,由Rakesh Agrawal和Ramakrishnan Srikant在1994年提出。这个算法主要...
关联规则挖掘通常用于购物篮分析、生物信息学、网络流量分析、疾病诊断以及推荐系统等领域。数据挖掘(KDD,Knowledge Discovery in Databases)是将数据库中的大量数据转化为有价值知识的过程,它集成了多种技术和...
关联规则挖掘是数据挖掘领域中的一个重要方法,它用于发现数据集中项集之间的有趣关系,比如购物篮分析中商品之间的关联性。在这个主题中,我们主要关注两种经典的算法:Apriori 和 FP-growth。 **Apriori 算法** ...
在数据分析领域,关联规则挖掘是一种常用的技术,用于发现数据集中不同项之间的有趣关系。Apriori 算法是关联规则挖掘的经典算法之一,尤其在零售业中的商品购物篮分析中应用广泛。本项目深入探讨了如何利用 Apriori...
在`association-rule-mining-master`这个压缩包中,可能包含的是实现这两种算法的源代码、示例数据集和相关教程,通过研究这些资源,你可以深入理解并实践关联规则挖掘技术,提升数据分析能力。无论是Apriori还是FP-...
关联规则挖掘是指在大量的事务数据库、关系数据库及其他信息存储中,发现频繁出现的项集之间的模式、关联和相关性。这个过程包括两个基本步骤:首先找出所有频繁项集,然后从这些频繁项集中生成强关联规则。所谓“强...
在实际应用中,先验法关联规则挖掘被广泛用于零售业的市场篮子分析、医学研究中的疾病关联分析、网络日志分析等领域。然而,Apriori算法也存在一些缺点,如高时间和空间复杂度,特别是在处理大规模数据时。因此,...
本主题聚焦于机器学习中的一个具体应用——关联规则挖掘,尤其关注其在中医证型领域的实践。 关联规则挖掘是一种数据挖掘技术,用于发现大量数据集中的有趣关系,例如“如果顾客购买了尿布,那么他们可能也会购买...
然后,我们可以使用Pandas来处理数据,将销售记录转换为适合关联规则挖掘的格式。接下来,运用mlxtend库中的apriori或fp_growth函数找出频繁项集,再计算关联规则。最后,通过可视化工具如matplotlib展示结果,以...
关联规则挖掘技术是一种数据挖掘方法,它从大型数据库或数据仓库中发现有趣的相关性或关联,这些相关性可用于预测未来的趋势、制定商业策略或优化决策。在商场环境中,这种技术的应用能够帮助管理层从海量销售数据中...