龙空技术网

关联规则之Apriori算法

洛洛成长 161

前言:

而今各位老铁们对“关联规则apriori算法java实现”大致比较注意,咱们都需要剖析一些“关联规则apriori算法java实现”的相关文章。那么小编也在网络上汇集了一些对于“关联规则apriori算法java实现””的相关知识,希望同学们能喜欢,朋友们一起来学习一下吧!

Apriori算法的主要思想是找出存在于事物数据集中的最大频繁项集,再利用得到的最大频繁项集与预先设定的最小置信度阈值生成强关联规则。

频繁项集:

项集是项的集合。包含k个项的项集成为k项集。项集的出现频率是所有包含项集的事务计数,又称为绝对支持度或支持度计数。如果项集I的相对支持度满足预定义的最小支持度阈值,则I是频繁项集。频繁k项集通常记作k。

支持度:

项集A、B同时发生的概率称为关联规则的支持度(也称为相对支持度)。

置信度:

项集A发生,则项集B发生的概率为关联规则的置信度。

最小支持度和最小置信度:

最小支持度是用户或专家定义的衡量支持度的一个阈值,表示项目集在统计意义上的最低重要性;最小置信度是用户或专家定义的衡量置信度的一个阈值,表示关联规则的最低可靠性。同时满足最小支持度阈值和最小置信度阈值的规则称为强规则。

支持度计数:

项集A的支持度计数是事务数据集中包含项集A的事务个数,简称为项集的频率或计数。

Apriori的性质:

频繁项集哦的所有非空自己也必须是频繁项集。根据该性质可以得出:向不是频繁项集I的项集中添加事务A,新的项集I U A一定也不是频繁项集。

Apriori算法实现的两个过程:

1)找出所有的频繁项集(支持度必须大于等于给丁的最小支持度阈值),在这个过程中连接步和剪枝步互相融合,最终得到最大频繁项集Lk。

连接步:

连接步的目的是找到K项集,对给定的最小支持度阈值,分别对1项候选集C1,剔除小于该阈值的项集得到1项频繁项集L1;下一步由L1自身连接产生2项候选集C2,保留C2中满足约束条件的项集得到2项频繁集,记为L2;再下一步由L2与L3连接产生3项候选集C3,保留C2中满足约束条件的项集得到3项频繁集,记为L3···这样循环下去,得到最大频繁项集Lk。

剪枝步:

剪枝步紧接着连接步,在产生候选项Ck的过程中起到减小搜索空间的目的。由于Ck是Lk-1与L1连接产生的,根据Apriori的性质频繁项集的所有非空子集也必须是频繁项集,所以不满足该性质的项集不会存在于Ck中,该过程就是剪枝。

2)由频繁项集产生强关联规则:由过程1)可知未超过预定的最小支持度阈值的项集已被提出,如果剩下这些规则又满足了预定的最小置信度阈值,那么就挖掘出了强关联规则。

标签: #关联规则apriori算法java实现