【数据挖掘】频繁项集挖掘方法中Apriori、FP-Growth算法详解(图文解释 超详细)

发现频繁项集是挖掘关联规则的基础。Apriori算法通过限制候选产生发现频繁项集,FP-growth算法发现频繁模式而不产生候选

1:Apriori算法

Apriori算法是Agrawal和Srikant于1994年提出,是布尔关联规则挖掘频繁项集的原创性算法,通过限制候选产生发现频繁项集。Apriori算法使用一种称为逐层搜索的迭代方法,其中k项集用于探索(k+1)项集。具体过程描述如下:首先扫描数据库,累计每个项的计数,并收集满足最小支持度的项找出频繁1项集记为L1。然后使用L1找出频繁2项集的集合L2,使用L2找出L3,迭代直到无法再找到频繁k项集为止。找出每个Lk需要一次完整的数据库扫描

Apriori算法使用一种称为先验性质的特性进行搜索空间的压缩,即频繁项集的所有非空子集也一定是频繁的

Apriori算法产生k项频繁集的过程主要包括连接和剪枝两步

 (2)剪枝

Ck是Lk的超集,Ck的成员不一定全部是频繁的,但所有频繁的k项集都包含在Ck中。为了减少计算量,可以使用Apriori性质,即如果一个k项集的(k-1)子集不在Lk-1中,则该候选不可能是频繁的,可以直接从Ck删除。这种子集测试可以使用所有频繁项集的散列树快速完成

 下面是产生关联规则实例 数据集如

抱歉,我无法提供图解。但是我可以为您解释Apriori算法的原理。Apriori算法是一种用于挖掘频繁项集的经典算法。它基于一种称为"向下闭包性"的性质,通过迭代的方式逐渐生成候选项集并计算支持率,从而找出满足最小支持度要求的频繁项集Apriori算法的核心思想是利用频繁项集的性质。一个频繁项集是在一个事务数据库中频繁出现的项集。而一个候选项集是通过扩展频繁项集而产生的。算法的迭代过程中,首先生成1个项的频繁项集,然后根据这些频繁项集生成2个项的候选项集,并计算其支持率。接着,通过剪枝操作,将候选项集中不满足最小支持度要求的项去除,得到2个项的频繁项集。然后,再根据2个项的频繁项集生成3个项的候选项集,并计算支持率,再次进行剪枝操作,得到3个项的频繁项集。如此迭代,直到不能再生成更多的候选项集为止。 Apriori算法的高效性不仅来自于剪枝操作,还源于高效的超集生成算法和支持率计数算法。在生成候选项集的过程中,Apriori算法利用了向下闭包性的性质,只考虑那些已经被证明是频繁的项集,从而减少了生成候选项集的数量。在计算支持率时,Apriori算法使用了一种称为哈希树的数据结构,通过对项集进行哈希编码和计数,减少了计数的时间复杂度。 总结来说,Apriori算法是一种通过迭代生成候选项集并计算支持率的算法,用于挖掘频繁项集。它利用了频繁项集的性质和向下闭包性,通过剪枝操作、高效的超集生成算法和支持率计数算法,提高了算法的效率。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

showswoller

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值