Apriori
2022-11-06

 

数据集

数据集

 

基本概念

  1. 项集

    购买商品的集合。

  2. 频繁项集

    经常出现在一起的商品的集合。

  3. 关联规则

    关联规则是形如XY的表达式,XY是两个不相交的项集,X称为规则前件,Y是规则后件。

 

评估指标

  1. 支持度

    项集X(可能是一个商品,也可能是多个商品)出现的概率,公式如下:

    (1)Support(X)=P(X)=N(X)N(AllSamples)N(X)XN(AllSamples)

    例如,X={尿}

    Support(X)={尿}=35=0.6

  2. 置信度

    在项集X出现时,项集Y出现的概率,公式如下:

    (2)Confidence(XY)=P(YX)=N(XY)N(X)N(X)XN(YX)XY

    例如,X={尿}Y={}

    Confidence(XY)=P(YX)=N({,尿})N({尿})=34

  3. 提升度

    项集X的出现,对项集Y出现的提升程度,公式如下:

    (3)Lift(XY)=P(YX)P(Y)=P(X,Y)P(X)P(Y)P(YX)XYP(X)XP(Y)YP(X,Y)XY

    例如,X={尿}Y={}

Lift(XY)=P(YX)P(Y)=P({})P({尿})P({})=P({,尿})P({})P({尿})=0.60.60.8=1.25

 

Apriori

对于Apriori算法,通常使用支持度作为判断频繁项集的标准,Apriori算法的目标是找到最大的K项频繁集。

Apriori采用迭代的方法寻找最大的K项频繁集。具体如下:

  1. 搜索出候选1项集及对应的支持度,剪枝去掉低于支持度阈值的1项集,得到频繁1项集;
  2. 对剩下的频繁1项集进行连接,得到候选的频繁2项集,筛选去掉低于支持度的候选频繁2项集,得到真正的频繁2项集;
  3. 依次类推,迭代下去,直到无法找到频繁K+1项集为止,对应的频繁K项集的集合即为算法的输出结果。

下图为Apriori算法过程示例:

Apriori示例

在该例中,共有4条记录:134、235、1235、25。使用Apriori算法寻找频繁K项集,设最小支持度为0.5。步骤如下:

  1. 生成候选频繁1项集,然后计算支持度C1,剪枝得到L1
  2. 基于L1进行连接得到原始的C2,然后计算C2的支持度,剪枝后得到L2
  3. 基于L2得到频繁3项集C3,然后计算C3的支持度,得到L3
  4. 由于无法再进行连接得到频繁4项集,最终的结果即为频繁3项集235

 

参考文档

  1. Apriori算法原理总结 - 刘建平Pinard - 博客园 (cnblogs.com)
  2. 实战:关联规则挖掘 - 知乎 (zhihu.com)
  3. 第一部分 关联规则实战分析 1-关联规则概述哔哩哔哩bilibili