数据挖掘算法之 Apriori

Apriori算法是一种用于数据挖掘的算法,旨在寻找支持度不小于最小支持度的频繁项集。该算法由Agrawal等人在1993年提出,采用层次搜索策略。其核心性质包括:频繁项集的子集也是频繁的,且非频繁项集的超集不可能是频繁的。算法通过迭代生成候选项集并判断其频繁性,从频繁1-项集开始,逐步扩大项集长度,直到找不到新的频繁项集为止。在设定最小支持度阈值的事务数据库中,Apriori算法通过多次扫描数据来确定频繁项集。

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

一、什么是Apriori算法?

        Apriori算法是寻找所有支持度不小于minsup的项集。项集的支持度指的是包含该项集的事务占所有事务的比例。频繁项集指的是满足给定最下支持度的项集

        Apriori算法是由Agrawal等人于1993提出的,它采用逐层搜索策略(层次搜索策略)产生所有的频繁项集。 

        Apriori性质:

                           1: 若A是一个频繁项集,则A的每一个子集都是一个频繁项集。

                           2:如果一个项集不是频繁的,则它的所有超集也一定不是频繁的。 例如 如果{ac}不是频繁集、{abc}、{acd}也一定不是频繁集。


二、Apriori算法思想

        Apriori算法的基本思路是采用层次搜索的迭代方法,由候选(k-1)-项集来寻找候选k-项集,并逐一判断产生的候选k-项集是否是频繁的。

  设Ck是长度为k的候选项集的集合,Lk是长度为k的频繁项集的集合。为了简单,设最小支持度阈值min_sup为最小元组数,即采用最小支持度计数。

        首先,找出频繁1-项集,用L1表示。

  由L1寻找C2,由C2产生L2,即产生频繁2-项集的集合。

  由L2寻找C3,由C3产生L3。

  以此类推,直至没有新的频繁k-项集被发现。求每个Lk时都要对事务数据库D作一次完全扫描。

       举例如下: 在所示的事务数据库,设min_sup=2,产生所有频繁项集的过程如图5.1所示,最后L4,算法结束,产生的所有频繁项集为L1L2L3


   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值