大数据之数据挖掘理论一 Apriori算法
1. 引例——购物篮分析
策略一:经常同时购买的商品临近摆放,如啤酒尿布;
策略二:强关联商品可以摆放在商品的两端,可能诱发顾客一路挑选其他商品,如硬件和软件。
2. 基本概念
频繁模式:频繁地出现在数据集中的模式(如项集、子序列、子结构)。
频繁项集:如频繁地出现在商品交易数据集中的商品(如牛奶、面包)的集合。
关联规则:computer =>antivirus_software [support=2%; confidence=60%]
支持度:分析的所有事务中有2%显示计算机和杀毒软件被同时购买;
置信度:购买computer的60%顾客买了杀毒软件;
3. 公式
support(A=>B) = P(A∪B)
confidence(A=>B)=P(B|A)= support(A∪B) / support (A) = support_count (A∪B) / support_count(A)
4. 关联规则挖掘过程:
(1) 找出所有频繁项集;(2)由频繁项集产生【强关联规则:必须满足最小支持度和最小置信度】。
5. 布尔关联规则挖掘频繁项集——Apriori算法
1)Apriori算法原理:采用逐层搜索迭代法,用k项集探索k+1项集。
2)Apriori算法过程:通过扫描数据库,累计每个项的计数,并收集满足最小支持度的项,找出频繁1项集的集合,记为L1。利用L1找出频繁2项集L2,利用L2找出频繁3项集L3...
上述过程,每找一次需要完整扫描数据库一次。要压缩搜索空间,提高频繁项集逐层产生效率——Apriori property先验性质。
3)Apriori property理论:频繁项集的所有非空子集一定是频繁;任何非频繁的k项集都不是频繁k+1项集的子集(理解:非频繁项集与任何一项取并集,结果都是非频繁的)。
4)Apriori property应用:连接步+剪枝步
连接步:将Lk与Lk自身连接产生候选k+1项集的集合C(k+1)。集合C(k+1)的成员有频繁的也有不频繁的,但所有频繁k+1项集都包含在集合中。
剪枝步:扫描数据库,确定C(k+1)中每个候选项集的计数,根据计数值不小于最小支持度计数的所有候选项集都是频繁的确定L(k+1)。在此引入Apriori property对C(k+1)进行压缩处理,即认为 不在Lk集合的项构成连接项 也不会是频繁的,故可将其直接从C(k+1)中删除。
5)Apriori算法举例
http://blog.csdn.net/lizhengnanhua/article/details/9061887 (最小支持度>=50%) 该博主举例简单明确&#x