关联规则挖掘(二)-- Apriori 算法

本文详细介绍了Apriori算法的原理,通过示例推导展示算法过程,并利用R语言的arules包对Groceries数据集进行关联规则挖掘实战,包括数据集分析、规则挖掘与评估。
摘要由CSDN通过智能技术生成

本文首先介绍了Apriori算法的原理,进行了简单的示例推导,而后运用R语言中的arules包对Groceries数据集进行关联规则挖掘实战。

一、概述

Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法,这种算法所针对的关联规则是单维、单层、布尔关联规则
在前一篇文章中写到关联规则挖掘算法的总体性能取决于寻找频繁项集,而后由频繁项集产生强关联规则就很容易了。那么如何寻找频繁项集呢?自然的想法是对于数据集D,遍历它的每一条记录T,得到T的所有子集,然后计算每一个子集的支持度,最后的结果再与最小支持度比较。此种方法的计算量非常巨大,显然是不可取的。因此,Apriori算法提出了逐层搜索的迭代方法:
1.自连接获取候选集。第一轮的候选集就是数据集D中的项,而其他轮次的候选集则是由前一轮次频繁集自连接得到(频繁集由候选集剪枝得到)。
2.对候选集进行剪枝。剪枝规则1:如果某条候选集的支持度小于最小支持度,那么就会被剪掉;剪枝规则2:如果某条候选集的子集中存在非频繁集,该候选集也会被剪掉。
值得注意的是,为了提高频繁项集逐层产生的效率,进一步减少计算量,一种称作 Apriori 性质的重要性质被用于压缩搜索空间,即:频繁项集的所有非空子集都必须也是频繁的(对应剪枝规则2)。

二、示例推导

该示例基于某事务数据库,数据库中有9个事务,如下图所示:
这里写图片描述
如何使用Apriori算法寻找频繁项集呢?具体如下:
1.在算法的第一次迭代,每个项都是候选 1-项集的集合 C1 的成员。算法简单地扫描所有的事务,对每个项的出现次数计数。
2.假定最小事务支持计数为 2(即,min_sup = 2/9 = 22%)。可以确定频繁 1-项集的集合 L1 。它由具有最小支持度的候选 1-项集组成。
3.为发现频繁 2-项集的集合 L2 ,算法使用 L1 L1 自连接产生候选 2-项集的集合 C2
4.下一步,扫描 D 中事务,计算 C2 中每个候选项集的支持计数,如下图的第二行的中间表所示。
5.将候选集支持度计数与最小支持度比较,产生频繁 2-项集的集合 L2
6.产生候选 3-项集的集合 C3 。首先,

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值