【机器学习】【无监督学习】【算法01-理论2】Apiori算法-关联规则获取

之前的章节分析了如何从原始数据集合中获取频繁项集,并且给出了代码演示,如需要请访问以下链接
【机器学习】【无监督学习】【算法01-理论1】Apiori算法-筛选频繁集
【机器学习】【无监督学习】【算法01-代码实现】Apiori算法-筛选频繁集
接下来进行关联分析的第二个步骤讲解:关联规则获取

1 理论解释

在筛选频繁集的理论部分,我们已经提到关联分析其实总共就是两个步骤:频繁项集发现、关联规则获取。
对于频繁项集的“频繁”,我们使用支持度来定义,同样的,我们也有一个量化的标准来定义“关联”-----置信度(Confidence),且一条规则的置信度计算可以通过相关项集的支持度来得到。

首先,我们需要搞清楚,什么叫做“关联”?

我个人喜欢称一条关联规则为一个伴随关系。对于一条规则A---->B来说,即当A发生时,总有B的发生。当然,这个总有的程度,则由刚刚所提出的置信度来定义。

那么,对于已经挖掘好的频繁项集来说,怎么挖掘其中的关联规则呢?我们已知,频繁项集的集合L有以下关系成立:
L = { L 1 , L 2 , L 3..... L N } L=\{L1,L2,L3.....LN\} L={ L1,L2,L3.....LN}
即由一项到N项元素的集合层构成。我们在寻找关联关系的时候,首先应该去掉的就是L1,因为在L1层,每个项集只有一个元素,因此无法产生一条规则。因此,关联规则寻找的第一个要点:从频繁项集的L2层开始寻找关联规则。

1.1 关联规则寻找

明确第一个要点后,已经成功了一半,现在可以开始正式寻找关联规则了。假设对于L2层项集{1,2},{2,3}进行寻找,那么应该先产生规则1—>2,2—>1,2—>3,3—>2。然后根据在频繁项集生成时存储的支持度列表中寻找需要的支持度,进行置信度的计算。

那么试想,如果需要对一个频繁集合{0,1,2,3}进行关联规则的寻找呢?
应该有如下图所示的关联规则组合:
在这里插入图片描述
这是一个L4层的一个频繁项集所产生的规则,按照我们的思路或者说实际要求,我们必须要对每条规则进行计算。因此,对于一个L4层项集我们需要计算15次置信度计算。随着项集内部元素增多,我们需要面对的规则计算次数也越来越多。

**在寻找频繁集合的时候,我们也碰到过差不多的问题,因此在此处我们也可以同样的应用Apriori算法进行剪枝。**例如上图,其中,假设深色部分{0,1,2}—>3.是一条不满足置信度的规则,那么其前件{0,1,2}的子集作为前件的规则,均不会符合置信度要求。

(此规则可以转为:任意一条不是关联规则的规则,其右边的后件及其父集,均不符合关联规则的置信度要求,可以观察到图中{3}作为元素出现的后件,均不符合规则)

量化解释如下:

1.2 量化解释

对于任意一个集合{a,b,c,d},如果它所产生的一条关联规则{a,b,c}–>{d}的置信度S1<S,那么一定有:任意集合 { x , y } ⊂ { a , b , c } , 产 生 的 规 则 ( 例 如 { a , b } − > { c , d } ) 的 置 信 度 S 2 < = S 1 < S \{x,y\} \subset\{a,b,c\},产生的规则(例如\{a,b\}->\{c,d\} )的置信度S2<=S1<S { x,y}{ a,b,c},{ a,b}>{ c,d}S2<=

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值