关联规则挖掘
Association rule mining
1.应用
- 捆绑销售
- 个性化推荐
- 医疗诊断
- web挖掘
2.目的
关联分析用以发现事物间存在的关联性
3.任务
给定一组事务,寻找预测 “某些项将会随其他项的出现而出现”的规则
4.频繁项集Frequent itemset
4.1 项集itemset
多个项的集合 : {1,2,3}
4.2 k项集k-itemset
含k个项的集合: 3项集:{1,2,3}
4.3 支持度support
包含项集的比例,如,s({Milk, Bread, Diaper}) = 2/5
- relative support 相对支持度
- absolute support 绝对支持度
4.4 支持度计数support count(σ)
项集出现的频数,如,σ({Milk, Bread,Diaper}) = 2
4.5 频繁项集Frequent itemset
项集的support不低于给定阈值的项集称为频繁项集
5 关联规则Association rule
5.1 定义
X->Y,X,Y都是项集,“->”成为蕴含
eg:{Milk, Diaper} -> {Beer}
5.2 规则评判标准
5.2.1 支持度support
5.2.2 置信度confidence
例子:
5.3 关联规则挖掘过程
- 确定频繁项集
- 生成规则
- support ≥ minsup threshold
- confidence ≥ minconf threshold
6. 频繁项集的产生
6.1 蛮力法
在项集格中的每个项集都是一个候选频繁项集
扫描事务数据库计算每个候选频繁项集的支持度
将每个事务与每个候选频繁项集匹配(太复杂)
因此要降低复杂度,通常是3个方面
- 减少候选频繁集的数量M:完全搜索或者剪枝,Apriori 算法,先验原则
- 减少项的数量N
- 减少比较的次数NM:使用高效的数据结构保存候选频繁项集或事务,不需要匹配每个候选和每个事务
6.2 Apriori
6.2.1 原理
如果一个项集是频繁的,则它的所有子集都是频繁的
一个项集的支持度不会超过其任何子集的支持度
该性质称作支持度的反单调性质
6.2.2 算法
产生规则的apriori算法:
为了减少比较次数,将候选项集保存在**散列(hash)**结构中。将每个事务与保存在散列结构的候选项集作匹配
7 最大频繁项集 Maximal Frequent Itemset
如果某项集是频繁的且其直接超集都不频繁,则它是最大频繁项集。
8 闭集 Closed Itemset
如果项集X的直接超集都不具有与项目集X相同的支持度support,则它是闭集。
关系图:
9 非二元属性的关联规则挖掘
非二元属性可以利用数据预处理的方法将它们转换为二元属性,离散化。
10 关联规则评价
10.1 兴趣度
关联规则算法倾向于产生大量的规则,很多产生的规则是不感兴趣的或冗余的,兴趣度可以用于对产生的规则进行过滤或排序
10.1.1 主观度量
基于从数据推导出的统计量来确定模式是否有趣
比如关联度量(支持度、置信度、Gini指标、互信息、Jaccard等等) 可以参照上一篇,
10.1.2 客观度量
根据用户的解释来确定模式是否有趣,如果一个模式揭示料想不到的信息,那么它是主观有趣的(Silberschatz & Tuzhilin),如果一个模式是可操作的(actionable),即提供导致有益行动的有用信息,那么它是主观有趣的
10.1.3 计算客观兴趣度![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/499f0b089c0d8be6502adb1302ac9fd2.png)
10.2 支持度、置信度缺点
10.2.1 支持度缺点
若支持度阈值过高,则许多潜在有意义的模式被删掉
若支持度阈值过低,则计算代价很高而且产生大量的关联模式
10.2.2 置信度缺点
虽然置信度很高,但规则是误导的
置信度忽略了规则前件和后件的统计独立性
10.3 基于统计的度量![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/4a0adf03f88a64796e4b5a96d3da83fc.png)
10.4 辛普森悖论
进行关联分析时,有的时候需要对数据进行适当的分组,才能避免因辛普森悖论产生虚假的模式。
内容来自课程ppt和网络,侵删