Apriori算法+Partition算法+Hash算法+Sample方法+Close算法

Apriori算法:
几个概念:

项目集Item在数据集D上的支持度=包含Item的事务在D中所占的百分比
若项目集Item的支持度大于用户指定的最小支持度min_sup,则Item为频繁项目集。
support(Item) = P(Item)= |{T: Item∈T,T∈D}|/|D|×100%
关联规则的支持度为
support(X ∈Y) = support(X∪Y)
关联规则的可信度为
conf(X ∈Y) =support(X∪Y)/support(X)
在D上满足最小支持度min-sup和最小可信度min-conf的关联规则称为强关联规则

Apriori 性质
如果项目集X是频繁项目集,则它的所有非空子集都是频繁项目集如{I1,I2}频繁,则{I1}频繁。
如果项目集X不是频繁项目集,则它的所有超集都不是频繁项目集如{I1}不频繁,则{I1,I2}不频繁。
Apriori算法的主要步骤:1.连接 2.剪枝 3.验证 4.回到1直到没有频繁集生成。

示例如下:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
Apriori算法存在的问题:多次扫描数据库,如果数据库庞大,算法效率会很低,可能会产生庞大的候选集。
分区方法(Partition):
1 如果一个项集X在站点Si上是局部频繁项,则X的所有子集在站点Si上也是局部频繁项。
2 如果一个项集X是全局频繁项,则至少存在一个站点Si,X在Si上是局部频繁项
在这里插入图片描述
散列方法(Hash)
每对项目最多只能放在一个特定的桶中,对每个桶中的项目子集进行测试,减少候选集生成的代价
在这里插入图片描述
在这里插入图片描述
Hash结构的作用——减少比较次数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
抽样方法(Sample)
使用数据库中的一些抽样数据得到一些可能成立的规则,然后用数据库的剩余部分来验证这些规则是否成立。抽样数据的选取结果偏差问题(数据扭曲)
Close算法——闭合的项集
如果一个项目集的每个超集的支持度都小于它的支持度,则该项目集是闭合的。
如果一个项集是频繁项集,而它的每个超集都不是频繁的,则该项集是最大的频繁项集。

在这里插入图片描述
Close算法的原理
频繁(闭合)项目集的所有(闭合)子集一定是频繁的;
非频繁(闭合)项目集的所有(闭合)超集一定是非频繁的。
关键步骤:
– 求产生式(连接、非频繁子集剪枝、利用闭合剪枝)
– 求闭合(交易项集的交集,同时得出支持度)
– 验证
在这里插入图片描述
在这里插入图片描述
例如,最小支持数为2时
FC1.gen={A,B,C,D,E}
闭合项集:
FC1.closure={A,B,C,BD,ABE}
按照Apriori算法,将FC1.gen进行连接,得到
FCC2 .gen= {AB,AC,AD,AE,BC,BD,BE,CD,CE,DE}
利用FC1.closure对FCC2.gen剪枝:
FC1.closure={A,B,C,BD,ABE}
FCC2 .gen ={AB,AC,AD,BC,CD,CE,DE}
FC2 .gen ={AB,AC, BC,BD}。
……
最后求所有闭合的并集,再把并集的所有分解都加入集合中即为所有频繁项集

Close算法的效率体现在:频繁闭合项目集通常比所有的频繁项目集少很多

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值