【机器学习】【Apriori算法-1】Apriori算法原理详解 + 示例展示数学求解过程

本文详细介绍了Apriori算法的工作原理,它是一种用于挖掘频繁项集和关联规则的数据挖掘算法。通过逐层搜索的迭代方法,从频繁1项集开始,逐步找出更高项数的频繁项集。文章还提供了一个数学示例,以商品交易为例,展示了Apriori算法的求解过程,包括支持度和频繁项集的生成,帮助理解算法的运行思路。

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

1.Apriori算法原理详解

Apriori算法是经典的挖掘频繁项集和关联规则的数据挖掘算法。A priori在拉丁语中指"来自以前"。当定义问题时,通常会使用先验知识或者假设,这被称作"一个先验"(a priori)。Apriori算法的名字正是基于这样的事实:算法使用频繁项集性质的先验性质,即频繁项集的所有非空子集也一定是频繁的。Apriori算法使用一种称为逐层搜索的迭代方法,其中k项集用于探索(k+1)项集。首先,通过扫描数据库,累计每个项的计数,并收集满足最小支持度的项,找出频繁1项集的集合。该集合记为L1。然后,使用L1找出频繁2项集的集合L2,使用L2找出L3,如此下去,直到不能再找到频繁k项集。每找出一个Lk需要一次数据库的完整扫描。Apriori算法使用频繁项集的先验性质来压缩搜索空间。

2.数学示例求解过程

给个整体求解手稿:


下面以商品交易为例介绍数学求解过程,展示Apriori算法的思路。


注:手稿中由于[1,2,3,5]在交易中出现1次,导致最后支持数据集为[],所以为了很好展示Apriori算法思路,下面在商品交易列表中出现了2次[1,2,3,5]交易记录,会让最后求得的支持数据集不为空~


自定义最小支持度为0.2,即minSupport=0.2,即小于最小支持度的频繁项不会添加到支持数据集中~

商品交易记录列表goods:

    goods = np.array([[1, 2, 5],
                      [2, 4],
                      [2, 3],
                      [1, 2, 4],
                      [1, 3],
                      [2, 3],
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值