数据分析-APRIORI算法

本文介绍了数据分析中两种重要的算法——APRIORI和FP-Growth。APRIORI算法通过查找频繁项集来挖掘关联规则,但存在生成大量候选集和多次扫描数据的问题。FP-Growth算法通过创建FP树优化了这一过程,减少了时间和空间消耗。在Python实战部分,展示了如何使用这两种算法挖掘王晶导演选演员的特点,揭示了导演与演员之间的关联规律。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概念

  1. 支持度:指某个组合商品出现的次数与总数之间的比例
  2. 置信度:条件概念,在A发生的情况下,B发生的概率
  3. 提升度: 提升度(A->B) = 置信度(A->B)/支持度(B) 这是用来衡量A出现的情况下,是否会对B出现的概率有提升。若提升度大于1说明有,等于1说明没有,小于1说明会导致B下降。

APRIORI算法的工作原理

  • 说白了Apriori算法就是查找频繁项集(Frequent Itemset)的过程- 频繁项集:支持度大于等于最小支持度(Min support)阈值的项集- 算法流程:
  1. K=1,计算K项集的支持度
  2. 筛选掉小于最下支持度的项集
  3. 如果项集为空,则对应K-1项集的结果为最终结果,否则K=K+1重复1-3

APRIORI算发的缺点

  1. 可能产生大量的候选集2. 每次计算都需要重新扫描数据集,来计算每个项集的支持度3. 浪费大量的时间和空间

FP-Growth算法

  • 针对APRIORI算法的缺点,FP-Growth算法创建了一颗FP树来存储频繁项集。在创建前对不满足最小支持度的项进行删除,减少存储空间,并且整个生成过程,只遍历数据集两次

FP-Growth算法的流程

  1. 创建项头表(包括项目、支持度),以及该项在FP树中的链表(初始为空)
  2. 构造FP树,按照支持度从高到低的顺序创建节点,节点如果存在就将计数countr+1 ,不存在就进行创建。
  3. 通过FP树挖掘频繁项集。

Python实战

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值