关联规则是一种用于发掘数据集中变量之间关系的无监督学习算法,常用于市场篮子分析(Market Basket Analysis),以发现频繁同时出现的项(如商品)之间的关联模式。
1. 关联规则的基本概念
关联规则的目标是通过分析数据集中的事务,发现项集之间的有趣关系,通常以“如果项 A 出现,那么项 B 也很可能出现”的形式表示,规则通常写作 A -> B
,意思是“如果 A 发生,B 很可能也会发生”。
2. 关联规则的评价指标
关联规则通常通过以下三个核心指标进行衡量:
2.1 支持度(Support)
支持度衡量规则在数据集中出现的频率,计算公式为:
[ \text{Support}(A \rightarrow B) = \frac{\text{事务集T中同时包含A和B的事务数}}{\text{事务集T的总事务数}} ]
支持度越高,表示该规则越常见。
2.2 置信度(Confidence)
置信度表示在包含 A 的事务中也包含 B 的概率,计算公式为:
[ \text{Confidence}(A \rightarrow B) = \frac{\text{事务集T中同时包含A和B的事务数}}{\text{事务集T中包含A的事务数}} ]
置信度反映了规则的可靠性。
2.3 提升度(Lift)
提升度衡量 A 和 B 之间的独立性,计算公式为:
[ \text{Lift}(A \rightarrow B) = \frac{\text{Confidence}(A \rightarrow B)}{\text{Support}(B)} ]
- 提升度 > 1:A 和 B 具有正相关,说明 A 的出现提高了 B 出现的概率。
- 提升度 = 1:A 和 B 相互独立。
- 提升度 < 1:A 和 B 具有负相关,说明 A 的出现降低了 B 出现的概率。
3. 关联规则的经典算法
关联规则常用的算法是 Apriori 算法 和 FP-Growth 算法。
3.1 Apriori 算法
- Apriori 基于频繁项集(项的组合)生成关联规则。
- 它使用逐层递进的方法,首先找到频繁项集,然后基于这些项集生成关联规则。
优点:易于理解,适合小规模数据集。
缺点:效率较低,需要多次扫描数据库。
3.2 FP-Growth 算法
FP-Growth 通过构建**频繁模式树(FP-tree)**来减少数据库扫描次数,效率比 Apriori 更高。
优点:适合处理大规模数据。
缺点:算法实现较为复杂。
4. 关联规则的应用
- 市场篮子分析:发现顾客购买行为中的商品关联,如“买了面包的人通常会买牛奶”。
- 推荐系统:根据用户的购买或浏览历史,推荐可能感兴趣的商品或内容。
- 疾病诊断:在医疗数据中发现症状与疾病的关联,从而辅助诊断。
通过关联规则,可以从大规模事务数据中提取潜在的有用信息,帮助决策优化。