关联规则挖掘
- 关联规则挖掘,什么是关联规则以及频繁项
- 关联规则挖掘:给定事务的集合T,关联规则发现是指找出支持度大于等于min_sup并且置信度大于等于min_conf的所有规则,min_sum和min_conf是对应的支持度和置信度阈值
- 关联规则:是形如X->Y的蕴含表达式,其中X和Y是不相交的项集
- 频繁项集:满足最小支持度阈值(min_sup)的所有项集
- 支持度及置信度计算
- 支持度 support(X->Y):确定项集的频繁程度
- support(X->Y)=P(XUY)【表示事务包含集合A和B中每个项的频率】
- 置信度 Confidence(X->Y):确定Y在包含X的事务中出现的频繁程度
- confidence(X->Y)=P(Y|X)=support(XUY)/support(X)
- eg:
- Apriori算法 :核心一定考
- 性质1:如果一个项集是频繁的,则它的所有子集一定也是频繁的
- 性质2:相反,如果一个项集是非频繁的,则它的所有超集也一定是非频繁的
- 提高Apriori算法的方法
- 基于Hash(散列)的技术:压缩候选k项集
- 事务压缩:删除不可能对寻找频繁项集有用的事务(对象)
- 不包含任何频繁k项集的事务不可能包含任何频繁k+1项集。因此这些事务在其后的
- 划分:项集在DB中是频繁的,它必须至少在DB的一个划分中是频繁的
- 划分数据库,找到局部频繁模式
- 求出全局频繁模式
- 抽样:选取原数据库的一个样本,使用Apriori算法在样本中挖掘频繁模式
- 牺牲一些精度换取有效性
- 扫描一次数据库,验证在样本中发现的频繁模式
- 再次扫描数据库,找出遗漏的频繁模式(可选)
- FP-Growth算法:理解内容
- 不同于Apriori算法的“产生-测试”范型,而是使用一种被称作FP树的紧凑数据结构组织数据,并直接从该结构中提取频繁项集。
- 首先:将代表频繁项集合数据库压缩到FP树上
- 每个事务都映射到FP树的一条路径
- 注意共同前缀
- 其次:将FP树划分为一组条件数据库(每个数据数据库关联一个频繁项或:模式段),挖掘每个条件数据库获取频繁项集
- 构建条件模式基(子数据库))
- 构建条件FP树
- 挖掘频繁项集
- 如果(条件)FP树为单个路径,则产生该条件下所有模式的组合
- 如果(条件)FP树为多路径,则针对树的头表中的每一个项,产生对应模式获取频繁模式