放在最前面的牢骚,毛国君和段丽娟编写的《数据挖掘原理与算法》是我学校的教科书,极其垃圾,在前文从未提到的概念一堆一堆的来,还没有解释,伪代码也写得不明觉厉非常晦涩。这里推荐周志华老师的《机器学习》,虽然数学公式很多,但解释的很明白。
一、Apriori算法
暴力算法
算法描述可以看下这篇https://blog.youkuaiyun.com/u011067360/article/details/24810415
直接说怎么做
输入:
1.事务数据库D,形如
(图片来自上文的算法描述链接,T是事务,I是事务中的项目)
2. 最小支持度x
过程:
1.扫描D,对每个候选项进行支持度计数得到表C1。
2.在C1中选取支持度大于等于最小支持度的候选项集,得到频繁1-项集L1。
3.由L1产生候选项集C2,即不包括非频繁1-项集的2-项集C2。
4.在C2中选取支持度大于等于最小支持度的候选项级,得到频繁2-项集L2。
5.重复上述做法直到得到最大频繁项目集Ln。
(选择候选项集过程中可使用Apriori性质剪枝:频繁项集的所有子集必须是频繁的。对候选项集C,我们可以删除其子集为非频繁的选项)
输出:
频繁项集L1~Ln(一般来说能用到的只有最大频繁项目集,其他的频繁项目集都是他们的子集)
代码如下
输入包含了一个xlsx文件
标号 | |||||
1 | A | B |