开发者学堂课程【高校精品课-北京理工大学-数据仓库与数据挖掘(上):规则的产生】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/921/detail/15636
规则的产生
关联规则挖掘中的规则的产生方法
在上一节中,我们已经向大家介绍了如何从事务数据集中产生频繁项集,在得到频繁项集的基础之上,我们可以根据我们的频繁项集来进行规则的产生。
规则的产生的方法就是对于每一个频繁项集 L,我们找到他所有的非空子集F,从而可以构建形如F推出L-F的这种观点规则,然后再利用我们最小置信度阈值对规则进行过滤,从而得到强关联规则。
我们在 PPT 中列出了由频繁项集 ABCD 所导出的所有可能的规则的形式。也就是假设我们频繁项集的长度为 K,即包含 K 项,那么由这个 K 项我们可以总共构建大约二的 K 次方减二个候选的关联规则。当我们的频繁项集数目比较多的时候,那我们推出的可能的关联规则数目也会比较多,这个时候我们就需要对我们的规则进行减脂。对于减脂我们依然要使用我们规则的反单调性。
通常而言,对于置信度来说,它是没有反单调性的,也就是说,如果一个规则 ABC 推出 D ,他的执行度是有可能大于或者小于规则 AB 推出 D 的执行度。但是如果我们的规则都是由同一个频繁项集产生的。那么这个时候我们的执行度是有反单调性的。比如我们 ABCD 这个频繁项集产生的规则,由 ABC 推出地这个规则的执行度是大于等于由 AB 推出 CD 这个规则执行度,大于等于由 a 推出 BCD 这个规则执行度。
利用这样的一种执行度的反单调性,我们就可以进行规则减脂。下面我们通过一个例子向大家介绍,我们PPT上列出了由频繁项集 ABCD 所构成的关联规则的空间,那么每一层都是由规则后建的个数来决定,比如说第一层它所有的规则后建的个数为一,第二层所有规则的后件个数为二,第三层所有规则的后件个数为三。
假设我们有一个规则,那么 BCD 推出 A,如果他的置信度是比较低的,那么由它包含它的所有的超级的这样的一些规则,就是比如说由 CB 推出 AB,那么这样的规则它的置信度根据我们置信度的反单调性都是低于我们规则 BCD 推出A 的置信度的。所以说那么这一部分规则都是置信度比较低的规则,可以过滤掉,通过这样一种过滤,我们可以缩小我们关联规则的空间,从而提高我们计算的效率。