数据分析之关联分析 Apriori

数据分析之关联分析

  • 项与项集

    • 指我们分析数据中的一个对象
    • 项集 由若干项构成的集合 不能重复 数量可以为1
  • 支持度

    • 为某项集在数据中出现的频率 即 项集在记录中出现的次数 除以数据中所有的数据
    • s u p p o r t ( A ) = c o u n t ( A ) / c o u n t ( d a t a s e t ) = P ( A ) support(A) = count(A)/count(dataset) = P(A) support(A)=count(A)/count(dataset)=P(A)
  • 置信度

    • A与B同时出现的次数 除以A出现的概率
    • 体现的关联规则的可靠程度,在A已经出现的情况下,B出现的概率
    • c o n f i d e n c e ( A − > B ) = c o u n t ( A B ) / c o u n t ( A ) = P ( B ∣ A ) confidence(A->B) = count(AB)/count(A)= P(B|A) confidence(A>B)=count(AB)/count(A)=P(BA)
  • 提升度

    • 关联规则中,提升度为{A->B}的置信度,除以B的支持度
    • l i f t ( A − > B ) = c o n f i d e n c e ( A − > B ) / s u p p o r t ( B ) = P ( B ∣ A ) / P ( B ) = P ( A B ) / P ( A ) P ( B ) lift(A->B) = confidence(A->B)/support(B) = P(B|A)/P(B) = P(AB)/P(A)P(B) lift(A>B)=confidence(A>B)/support(B)=P(BA)/P(B)=P(AB)/P(A)P(B)
    • 对比B单独卖,和A帮着B一起卖 大于1才有意义
  • 频繁项集

    • 设置一个支持度阈值 一个项集的支持度大于等于阈值 项集就是频繁项集
    • 频繁项集中有k个元素,称为频繁k项集
  • 关联分析过程

    1. 从数据集中寻找频繁项集

    2. 从频繁项集中生成关联规则

  • 寻找频繁项集 Apriori原理

    • 如果一个项集是频繁项集,则其所有子集(非空)也是频繁项集
    • 如果一个项集(非空)是非频繁项集,则其所有父集也是非频繁项集
    • 在这里插入图片描述
  • Apriori流程

    1. 扫描数据集,从数据集中生成候选k项集 C k C_k Ck(k从1开始)
    2. 计算 C k C_k Ck中,每个项集的支持度,删除低于阈值的项集,构成频繁项集 L k L_k Lk
    3. 将频繁项集 L k L_k Lk重的元素进行组合,生成k+1项集 C k + 1 C_{k+1} Ck+1
    4. 重复步骤2、3,直到满足以下两个条件之一,算法删除
      1. 频繁k项集无法组合生成候选k+1项集
      2. 所有候选k项集支持度都低于指定阈值,无法生成频繁k项集
  • 关联规则

    • 把频繁项集拆分后,计算置信度
  • 代码

    • from efficient_apriori import apriori
      itemstes,rules = aproiori(transactions=datasets,min_support=0.05,min_confidence=0.3)
      print(itemsets)
      print(rules)
      for i in rules:
      	print(i)
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值