关联规则挖掘Apriori及FP-Growth算法
关联规则中的几个概念:
-
支持度:某个商品组合出现的次数与总次数之间的比例。支持度越高,代表这个组合出现的频率越大。
-
置信度:是个条件概念,即在A发生的情况下,B发生的概率是多少。
-
提升度:当A出现时,对B出现概率的提升程度。
提升度(A→B)=置信度(A→B)/支持度(B)
- 提升度(A→B)>1:代表有提升
- 提升度(A→B)=1:代表有没有提升,也没有下降
- 提升度(A→B)<1:代表有下降
Apriori工作原理:本质上是查找频繁项集的过程
- 频繁项集指支持度大于等于最小支持度阈值的项集
Apriori算法流程:
- K=1,计算K项集的支持度;
- 筛选掉小于最小支持度的项集;
- 如果项集为空,则对应K-1项集的结果为最终结果。否则K=K+1,重复1-3步。
Apriori算法的缺点:
- 由于采用排列组合的方式,因此可能会产生大量候选集
- 每次计算都要重新扫描数据集来计算每个项集的支持度
- 因此Apriori算法会浪费很多计算空间和计算时间
FP-Growth算法:Apriori算法的改进
- 特点:创建一棵FP树来存储频繁项集,在创建前对不满足最小支持度的项进行删除,从而节省了存储空间
- 整个生产过程只遍历数据集2次,大大