1.设定最小支持度和置信度,支持度确定规则可以用于给定数据集的频繁程度,置信度确定YY在包含XX的交易中出现的频繁程度。
support是支持度,confidence是置信度。
2.通过读取获取的数据:去除重复元素,得到所有的基本元素如(A、B、C、D、E)称为1项候选集C1,并且算出来每个项的支持度。
3.在C1候选集中通过设定的最小支持度去除非频繁项(非频繁项与其他项组合也是非频繁项)得到1项频繁集L1
4.开始循环执行,通过频繁项组合得到K项候选集Ck,组合的时候需要满足规则,组合成的项拆分出来的所有k-1子集都可以在上一层中存在如ACD拆成AC、AD、CD都存在于上一层。通过剔除Ck候选集中的非频繁项得到Lk频繁集。直到没有满足的最小支持度的项为止。
5.当得到所有的频繁集之后(2项频繁集、3项频繁集、……),算所有的置信度。
这就是在买a的时候会买b的概率,买c,e的时候会买a的概率。
转载java实现Apriori源码:https://github.com/muziyongshixin/Association-rule-mining-with-Apriori