【机器学习】关联规则分析(一):Apriori

一、Apriori原理

        Apriori是关联分析中较早的一种方法,主要用来挖掘那些频繁项集合,其思想是:

1.如果一个项目集合不是频繁集合,那么任何包含它的项目(超集)也一定不是频繁集

2.如果一个项目集合是频繁集合,那么它的任何非空子集(子集)也是频繁集合

 

二、关联分析

1.发现频繁项集→ 经常出现在一起的样本集合

2.发现关联规则→ 暗示两种样本之间可能存在很强的关系

3.Apriori原理可减少支持度计算量

***************************************************

支持度:数据集里包含该项集的记录所占的比例

可信度:针对一条eg.{A}→{B}的关联规则来确定的,定义为:可信度 = 支持度{A,B} / 支持度{A}

 

支持度(比例大小)→特定数据集/总数据集→ 反映频繁项集

可信度(关联规则)→支持度{A,B}/支持度{A} →反映关联度

 

用户自行设定最小支持度minSupport作为参数,当集合/列表(set/list)支持度大于最小支持度,则为频繁项集

***************************************************

 

三、算法步骤

1.生成候选项集

流程:

********************************

对数据集里每条记录item:

对每个候选项集can:

         检查can是否为item的子集:

                   如果是,则增加can的计数值

                   对每个候选项集can:

                            如果其支持度不小于最小值,则保留该项集

返回所有频繁项集列表

***********************************

 

2.完整Apriori流程

***********************************

当集合中项的个数>0:

         构建k个项组成的候选项集列表

         检查数据以确定每个项集都是频繁的

         保留频繁集并构建k+1项组成的候选项集列表

***********************************

 

        Apriori需要扫描项目多遍,从一个项目开始,舍去掉那些不频繁项目,得到集合成为l,然后对l中每个元素进行自组合,生成比上次扫描多一个项目的集合,该集合成为c,接着又去扫描那些非频繁项目,重复……

 看下面这个例子:

元素项目表格:


  如果每个步骤不去掉非频繁项目集,则其扫描过程的树形结构如下:

  在其中某个过程中,可能出现非频繁的项目集,将其去掉(用阴影表示)为:



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值