关联规则挖掘
关联规则基本概念
1. 基本定义
关联规则挖掘是数据挖掘中用于发现数据项之间有趣关系的方法。
# 基本概念
1. 项集(Itemset)
- 一组项目的集合
- 例如:{牛奶, 面包, 鸡蛋}
2. 事务(Transaction)
- 包含多个项目的集合
- 例如:一次购物记录
3. 支持度(Support)
- 项集在所有事务中出现的频率
- Support(X) = P(X)
4. 置信度(Confidence)
- 规则的可信程度
- Confidence(X→Y) = P(Y|X)
5. 提升度(Lift)
- 规则的相关性强度
- Lift(X→Y) = P(Y|X)/P(Y)
# 示例
事务数据库:
T1: {牛奶, 面包, 鸡蛋}
T2: {牛奶, 面包}
T3: {面包, 鸡蛋}
T4: {牛奶, 鸡蛋}
规则:牛奶 → 面包
- 支持度 = 2/4 = 0.5
- 置信度 = 2/3 = 0.67
- 提升度 = 0.67/0.75 = 0.892. 规则评估
关联规则的评估需要考虑多个指标。
# 规则评估指标 1. 最小支持度(Min Support) - 过滤低频项集 - 通常设置为0.01-0.1 2. 最小置信度(Min Confidence) - 过滤不可靠规则 - 通常设置为0.5-0.8 3. 最小提升度(Min Lift) - 过滤不相关规则 - 通常设置为>1 4. 规则长度 - 规则包含的项目数 - 通常限制在2-3个 # 评估示例 规则:牛奶 → 面包 - 支持度 = 0.5 > 0.1 ✓ - 置信度 = 0.67 > 0.5 ✓ - 提升度 = 0.89 < 1 ✗ 结论:规则不可靠
3. 规则类型
关联规则可以根据不同的特征进行分类。
# 规则类型 1. 基于规则形式 - 单维规则:A → B - 多维规则:A,B → C - 分层规则:A → B → C 2. 基于规则方向 - 单向规则:A → B - 双向规则:A ↔ B - 循环规则:A → B → C → A 3. 基于规则约束 - 无约束规则 - 时间约束规则 - 空间约束规则 # 示例 1. 单维规则 牛奶 → 面包 2. 多维规则 牛奶,鸡蛋 → 面包 3. 时间约束规则 牛奶 → 面包 (在早上)