Apriori 算法
关联规则挖掘是数据挖掘领域的热点,关联规则反映一个对象与其他对象之间的相互依赖关系,如果多个对象之间存在一定的关联关系,那么一个对象可以通过其他对象进行预测。关联规则挖掘一般可分成两个步骤:
-
找出所有支持度大于等于最小支持度阈值的频繁项集。
-
由频繁模式生成满足可信度阈值的关联规则。
最著名的关联规则挖掘的方法是 Apriori 算法,该算法的命名源于算法使用了频繁项集性质的先验(Prior)知识。自从 Rakesh Agrawal 等在 1993 年首次提出顾客交易数据库中项集间关联规则挖掘问题后,很多研究人员对此问题进行了大量研究。1994 年,Rakesh Agrawal 和 Ramakrishnan Srikant 在 Fast algorithms for mining association rules in large databases 一文中正 式提出 Apriori 算法用于挖掘数据库中频繁项集。
以下交易为例
| 交易号码 | 商品 |
|---|---|
| 001 | 豆奶,莴苣 |
| 002 | 莴苣,尿布,啤酒,甜菜 |
| 003 | 豆奶,尿布,啤酒,橙汁 |
| 004 | 莴苣,豆奶,尿布,啤酒 |
| 005 | 莴苣,豆奶,尿布,橙汁 |
关联规则
若 , 均为项集,且 ,,并且 ,用蕴含式 表示一个关联规则。它表示某些项(X 项集)在一个事务中的出现,可推导出另一些项(Y 项集)在同一事务中也出现。
这里,“=>” 称为 “关联” 操作, 称为关联规则的前提, 称为关联规则的结果。
支持度
支持度表示该数据项在事务中出现的频度。 数据项集 X 的支持度 是 D 中包含 X 的事务数量与 D 的总事务数量之比,如下公式所示。
关联规则 的支持度等于项集 的支持度,如下公式所示。
如果 大于等于用户指定的最小支持度 ,则称 X 为频繁项目集,否则称 X 为非频繁项目集。