为什么数据挖掘中要使用支持度和置信度?
支持度是一个重要的指标,因为支持度很低的规则很容易偶然出现。从商业角度来看,低支持度规则也很难处理,因为提升用户很少一起购买的商品的利润并不高。
关联规则是一种形式为 X→Y 的蕴含描述,其中 X 和 Y 是不相交的项目集,即 $\mathrm{X\cap\:Y=\phi}$。关联规则的强度可以用其支持度和置信度来计算。支持度决定了在给定数据集上规则的可访问性,而置信度决定了在包含 X 的事务中 Y 出现的频率。
置信度衡量规则产生的推理的准确性。对于给定的规则形式 X→Y,置信度越高,在包含 X 的事务中 Y 存在的可能性就越高。置信度也支持对给定 X 条件下 Y 的条件概率的估计。
必须谨慎地解释关联分析的结果。关联规则产生的推理并不一定意味着因果关系。它表明规则的前件和后件中的元素之间存在很强的共现关系。因果关系需要关于信息中因果属性的知识,并且通常包含随时间推移出现的关联。
关联规则挖掘问题可以表述如下:
**关联规则发现** - 给定一组事务 T,发现一些支持度 ≥ minsup 和置信度 ≥ minconf 的规则,其中 minsup 和 minconf 是等效的支持度和置信度阈值。
挖掘关联规则的一种暴力方法是计算每个适用规则的支持度和置信度。这种方法计算成本非常高,因为可以从数据集中提取的规则数量呈指数级增长。
提高关联规则挖掘算法效率的一个重要步骤是将支持度和置信度要求解耦。如果项目集是奇数,则所有六个候选规则都可以直接修剪,而无需计算它们的置信度值。
因此,许多关联规则挖掘算法采用的常见策略是将问题分解为两个主要子任务:
**频繁项集生成** - 目标是发现满足阈值的项目集。这些项目集称为频繁项集。
**规则生成** - 目标是从前一步中发现的频繁项集中提取一些高置信度规则。这些规则称为强规则。频繁项集生成的计算需求通常比规则生成的计算需求更高。