概念
- 支持度:指某个组合商品出现的次数与总数之间的比例
- 置信度:条件概念,在A发生的情况下,B发生的概率
- 提升度: 提升度(A->B) = 置信度(A->B)/支持度(B) 这是用来衡量A出现的情况下,是否会对B出现的概率有提升。若提升度大于1说明有,等于1说明没有,小于1说明会导致B下降。
APRIORI算法的工作原理
- 说白了Apriori算法就是查找频繁项集(Frequent Itemset)的过程- 频繁项集:支持度大于等于最小支持度(Min support)阈值的项集- 算法流程:
- K=1,计算K项集的支持度
- 筛选掉小于最下支持度的项集
- 如果项集为空,则对应K-1项集的结果为最终结果,否则K=K+1重复1-3
APRIORI算发的缺点
- 可能产生大量的候选集2. 每次计算都需要重新扫描数据集,来计算每个项集的支持度3. 浪费大量的时间和空间
FP-Growth算法
- 针对APRIORI算法的缺点,FP-Growth算法创建了一颗FP树来存储频繁项集。在创建前对不满足最小支持度的项进行删除,减少存储空间,并且整个生成过程,只遍历数据集两次
FP-Growth算法的流程
- 创建项头表(包括项目、支持度),以及该项在FP树中的链表(初始为空)
- 构造FP树,按照支持