Apriori算法以及MS-Apriori算法中生成频繁项目集步骤的个人理解

    Apriori算法以及MS-Apriori算法均采用逐级搜索的方法来生成k阶频繁项目集,k阶频繁项目集仅由k-1阶频繁项目集两两合并而来。我要说明的是:为什么k-1阶频繁项目集两两合并的结果就一定是k阶频繁项目集的超集(算法后续步骤还会对这个超集进行剪枝)

    首先对于Apriori算法,任意一个项集都满足向下封闭属性,若该项目是频繁项目集,那么他的任何子集都是频繁项目集;反之若该项目不是频繁项目集,那么他的任意超集均不是频繁项目集。假设我们现在有全部的k-1阶频繁项目集(项目集中的项按照字典序排序),对于任意一个k阶频繁项目集U,设其前k-2个项目组成的集合为I,剩余两个项依次为a、b,则集合I+{a}以及集合I+{b}必定均在已有的k-1阶频繁项目集中(向下封闭属性)。而Apriori算法合并的策略是,取k-1阶频繁项目集中所有满足条件——两集合中只有最后一个元素不相同——的两两组合进行合并,得到的必定是k阶频繁项目集的超集。

    然后是MS-Apriori算法,该算法对每个项目引入了不同的最小支持度,判断某个项目集是否是频繁项目集的标准是:该项目集的支持度是否大于项目集中最小的最小支持度。假设我们现在有全部的k-1阶频繁项目集(项目集中的项目按照最小支持度从小到大排序),对于任意一个k阶频繁项目集U,设其前k-2个项目组成的集合为I(此处I不能为空,即k>2。否则就不存在后文的项目a了),剩余两个项依次为b、c,I中最小支持度最小的项目为a,设a的最小支持度为m。则有:

集合I+{b}的支持度>=集合U的支持度>m

集合I+{c}的支持度>=集合U的支持度>m

    因此集合I+{b}和集合I+{c}必定均在已有的k-1阶频繁项目集中,MS-Apriori算法合并的策略与Apriori算法一致,故MS-Apriori算法中k-1阶频繁项目集合并的结果也必定是k阶频繁项目集的超集。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值