关联规则挖掘 ---- Apriori算法与CBA算法

本文介绍了关联规则挖掘的基本概念,包括项集、事务、支持度及置信度等,并探讨了其局限性。随后详细解释了最大频繁项集与闭频繁项集的概念及其区别。此外还介绍了Apriori算法原理及瓶颈,并给出了CBA算法流程,这是一种基于关联规则的分类算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本概念:

通过数据的关联性进行分析挖掘,适合用于大数据样本中。

项集:包含0个或多个项的集合。包含k个项就是一个k项集

事务:表示事件

(比如每次去商场购买东西是一次事务,而实际购买到的东西就是项集)

支持度:说明给定数据集的频繁程度,sup(x->y)表示x和y同时出现的概率
置信度:说明推理的可靠程度,con(x->y)表示在x出现的情况下,出现y的概率


局限性:
支持度:许多潜在的有意义的模式由于包含支持度小的项而删去
置信度:忽略了规则后键(箭头后面那个项)的支持度,忽略了逆关系


最大频繁项集:
定义:最大频繁项集的所有直接超集都是不频繁的
性质:最大频繁项集和它的所有子集都是频繁项集
问题:缺失支持度信息


闭频繁项集:
闭项集定义:闭频繁项集具有和它的所有直接超集不同的支持度数
闭频繁项集定义:在闭项集的基础上支持度达到支持度阈值的项集
性质:非闭频繁项集的支持度必定是它的所有直接超集中支持度的最大值
(最大频繁项集一定是闭频繁项集,但是闭频繁项集不一定是最大频繁项集,因为闭频繁项集的直接超集有可能是频繁的)


Apriori算法:频繁项集生成

原理:如果一个项集是频繁的,则它的所有子集也是频繁的。如果一个项集不频繁,那么它的超集也一定不频繁,

           因此可以从子集往上生成,因此我们就可以进行候选项集的产生与剪枝操作。

实现: 用频繁的(k – 1)项集生成候选的频繁 k项集

Lk表示包含k项的候选集,Sk表示包含k项的候选集的频繁项集,假设Lk的项集是按顺序排列的

(1)自连接:把所有的Lk-1p跟Lk-1q连接起来,得到k项集

(2)修剪:把不频繁的k项集剪掉

瓶颈:(1)巨大的候选项集  (2)多次扫描数据库

算法过程如下:


CBA算法是基于关联规则的分类算法,利用Apriori挖掘出的关联规则做分类判断。
分类器的建立:
(1)找出所有形如xi1∧x => Ci 的关联规则,即右部为类别属性值的类别关联规则(CAR)

         (2)对于左部相同,右部不同的关联规则,选择最高置信度的作为可能规则。

算法原理:(参考http://blog.youkuaiyun.com/androidlushangderen/article/details/43818787)

CBA算法作为分类算法,他的分类情况也就是给定一些预先知道的属性,然后叫你判断出他的决策属性是哪个值。判断的依据就是Apriori算法挖掘出的频繁项,如果一个项集中包含预先知道的属性,同时也包含分类属性值,然后我们计算此频繁项能否导出已知属性值推出决策属性值的关联规则,如果满足规则的最小置信度的要求,那么可以把频繁项中的决策属性值作为最后的分类结果。具体的算法细节如下:
1、输入数据记录,就是一条条的属性值。
2、对属性值做数字的替换(按照列从上往下寻找属性值),就类似于Apriori中的一条条事务记录。
3、根据这个转化后的事务记录,进行Apriori算法计算,挖掘出频繁项集。
4、输入查询的属性值,找出符合条件的频繁项集(需要包含查询属性和分类决策属性),如果能够推导出这样的关联规则,就算分类成功,输出分类结果



<think>好的,我现在要回答用户关于分类算法关联规则挖掘算法的区别及应用场景的问题。首先,我需要明确这两个概念的定义、目的、方法以及应用场景,然后对比它们的差异,并结合用户提供的引用资料来支持回答。 首先,分类算法属于监督学习的一种,主要用于预测类别标签。比如判断邮件是否为垃圾邮件,或者图像识别中的分类任务。常见的算法有决策树、支持向量机(SVM)、朴素贝叶斯等。分类需要已标记的数据集来训练模型,目标是建立一个从输入特征到类别标签的映射关系。 接下来,关联规则挖掘算法属于无监督学习,用于发现数据中的频繁项集和关联规则。例如购物篮分析中的“买了A商品的人也可能买B商品”。典型的算法包括Apriori和FP-growth。这类算法不需要标签,而是通过分析数据项之间的共现关系来生成规则,支持度和置信度是常用的评估指标。 然后,我需要对比两者的区别。首先是任务目标不同:分类是预测类别,而关联规则是发现关系。然后是数据需求:分类需要标签,关联规则不需要。算法类型方面,分类属于监督学习,关联规则是无监督。输出结果方面,分类输出预测标签,关联规则输出关联规则。评估指标也不同,分类用准确率、召回率等,关联规则用支持度、置信度、提升度。 应用场景方面,根据用户提供的引用资料,关联规则挖掘在电商推荐、市场营销、医疗诊断等领域有应用(引用3)。而分类算法更多用于图像识别、垃圾邮件过滤、信用评分等需要明确分类结果的场景。比如引用2提到的CBA算法结合了关联规则和分类,可能用于关联分类任务,但主体上两者应用领域不同。 用户提供的引用1提到基于分类的关联规则挖掘算法Apriori和FP-growth,这说明两者有时可以结合使用,但核心目标不同。需要指出这种结合的情况,比如CBA算法(引用2),但主要区分它们的主要用途。 在组织回答时,需要结构清晰,先分别介绍两种算法,再对比区别,然后应用场景,最后可能补充它们的结合使用情况。同时注意用户要求的中文回答,使用正确的LaTeX格式,行内公式用$...$,独立公式用$$...$$,并生成相关问题。 需要检查是否有遗漏的差异点,比如是否需要提到算法处理的数据类型(分类处理结构化数据关联规则处理事务数据)?或者是否需要讨论算法复杂度?根据引用资料,用户提供的引用1和2提到了AprioriCBA算法,可能需要简要说明这些算法的特点,但重点还是放在区别和应用上。 最后,生成相关问题时要围绕主题,比如两者的结合、各自的优缺点、典型算法比较等。</think>### 分类算法 vs 关联规则挖掘算法:区别应用 #### 一、核心定义目标 1. **分类算法** - **任务类型**:属于监督学习,通过训练带标签的数据集,构建模型以预测新样本的类别标签。例如:判断肿瘤是否为恶性(类别标签为“良性/恶性”)。 - **数学表示**:学习函数$f: X \to Y$,其中$X$为特征空间,$Y$为有限类别集合。 - **典型算法**:决策树、朴素贝叶斯、支持向量机(SVM)等。 2. **关联规则挖掘算法** - **任务类型**:属于无监督学习,从无标签数据中发现频繁项集及关联规则。例如:购物篮分析中挖掘“购买牛奶$\Rightarrow$购买面包”的规则。 - **数学表示**:生成形如$A \Rightarrow B$的规则,满足$P(A \cup B) \geq \text{最小支持度}$且$P(B|A) \geq \text{最小置信度}$。 - **典型算法**:Apriori、FP-growth、CBA(关联分类算法)[^2]。 #### 二、关键差异对比 | **维度** | **分类算法** | **关联规则挖掘算法** | |------------------|--------------------------------------|---------------------------------------| | **任务目标** | 预测样本类别标签 | 发现数据项间的关联模式 | | **数据需求** | 需要带标签的训练数据 | 无需标签,仅需事务型数据 | | **输出结果** | 分类模型(如决策树规则) | 关联规则(如$\text{啤酒} \Rightarrow \text{尿布}$) | | **评估指标** | 准确率、召回率、F1-score | 支持度、置信度、提升度 | | **算法复杂度** | 通常为$O(n^2)$或更高(如SVM) | Apriori为$O(2^n)$,FP-growth优化为线性[^1] | #### 三、典型应用场景 1. **分类算法** - **图像识别**:基于卷积神经网络(CNN)的图像分类。 - **风险评估**:银行信用评分(预测“高风险/低风险”)。 - **文本分类**:垃圾邮件过滤(标签为“垃圾/正常”)。 2. **关联规则挖掘算法** - **电商推荐**:分析用户购买行为,如“购买手机$\Rightarrow$购买保护膜”[^3]。 - **医疗诊断**:挖掘症状疾病的关联(如$\text{发烧+咳嗽} \Rightarrow \text{流感}$)。 - **交叉销售**:零售业中商品组合推荐(引用啤酒尿布经典案例)。 #### 四、结合应用案例 - **CBA算法**:将关联规则分类结合,首先生成频繁项集,再筛选出能预测类别的规则构建分类器[^2]。例如:根据用户购物记录预测其消费等级。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值