Apriori算法
关联分析
- 大规模数据集中寻找有趣关系的非监督学习算法
典型案例:尿布与啤酒,年轻奶爸尿布和啤酒会一起购买,故尿布和啤酒在货架上摆在一起
- 频繁项集:经常出现在一块的物品的集合
- 关联规则:暗示两种物品可能存在很强的关系
几个概念:
- 项与项集:设itemset={item1, item_2, …, item_m}是所有项的集合,其中,item_k(k=1,2,…,m)成为项。项的集合称为项集(itemset),包含k个项的项集称为k项集(k-itemset)
- 事务与事务集:一个事务T是一个项集,它是itemset的一个子集,每个事务均与一个唯一标识符Tid相联系。不同的事务一起组成了事务集D,它构成了关联规则发现的事务数据库。
- 支持度:一个项集或者规则在所有事物中出现的频率,确定规则可以用于给定数据集的频繁程度。如果一个项目的频繁度大于最小支持度sup_min则将其称之为频繁项,所有频繁项的集合称之为频繁项集。
- 置信度:确定T2在包含T1的事务中出现的频繁程度,也就是由T1推出T2的可信度 。如果计算得出的conf(T1–>T2)大于最小信任度conf_min则说明T1–>T2规则是可靠的。
购物篮分析
- 事务:每一条交易,一共有五个事务
- 项:每一个物品,如:milk、break
- 项集:多个项的集合:{break、milk}
- k-项集:{break、milk}叫做2-项集
- 前件后件:{尿布}->{啤酒},尿布是前件,啤酒是后件
频繁项集评判标准
- 支持度:Support(diaper,beer)=同时出现的次数/交易总数=3/5=0.6
支持度高的不一定构成频繁项集,但是支持度低肯定构不成频繁项集,所以对于判断是否是频繁项集起到一个过滤作用
-
置信度:confidence(diaper->beer)=P(diaper*beer)/P(diaper)=1
-
提升度:提示度>1是有效强关联规则