关联规则与提高算法效率
提高效率关键点一
先验原理:如果一个项集是频繁的,则它的所有子集一定也是频繁的。
原理的解释:考虑图6-3所示的项集格。假定{C,D,E}是频繁项集。任何一个包含项集{C,D,E}的事务一定包含它的子集{C,D},{C,E},{D,E},{C},{D},{E}。这样,如果{C,D,E}是频繁的,则它的所有子集一定也是频繁的,如图6-3右实边框所示。相反,如果一个项集{A,B}是非频繁的,则它的所有超集也一定是非频繁的。如图6-3左虚边框所示。
这种基于支持度度量修剪指数搜索空间的策略称为基于支持度的剪枝(support-based pruning)。这种剪枝策略依赖于支持度度量的一个关键性质,即一个项集的支持度决不会超过它的子集的支持度。这种性质也称支持度度量的反单调性(anti-monotone)
提高效率关键点二
Apriori算法
使用Fk-1XFk-1??产生候选项集并且对候选项集进行基于支持度的剪枝。
提高效率关键点三
支持度计算时使用Hash散列树
利用Hash树处理候选项集,生成候选项集散列树,以候选项集散列树为基础,拿一个给定事务按照生成散列树的方式匹配候选项集散列树的叶子结点。
提高效率关键点四
FP增长算法
采用FP树存储事务,事务重复项越多,树就能更大的压缩数据集。采用分治策略,迭代构建条件FP树,不断更新支持度计数并删除非频繁项,化难为易,将大问题分解成各个子问题,各个击破!