美文网首页
模式挖掘(一):频繁项集挖掘算法Apriori和FP Tree

模式挖掘(一):频繁项集挖掘算法Apriori和FP Tree

作者: 诸葛村花_ | 来源:发表于2020-09-30 11:40 被阅读0次

    一. Apriori算法

    Apriori是最常用的频繁项集挖掘算法,其计算逻辑简单易于直观理解。在实际应用中举例,其易于从大量订单数据中获取频繁出现的组合项集,以便于输出计算单元之间的关联度,从而给组套销售、上架摆放等提供建议。下面介绍下工作中总结的知识,和需要避开的问题。

    1.1 评估频繁项集的标准

    以订单数据为例。在大量的订单中,如何评价某一商品组合对的出现频繁?其组合出现的次数多于其它组合吗。若订单覆盖的商品品类丰富,那么需求量不高的品类的组合便会被淹没在快消品的组合里。所以在Apriori中有从三个不同的角度评价频繁项集,描述元素关联关系的指标:支持度、置信度、提升度。

    1.2 Apriori频繁项集评估指标

    在Apriori中有三个维度的频繁项集的指标:支持度置信度提升度。下面以二元的组合举例说明。
    支持度:

    • 描述某一组合AB在所有组合中出现次数的占比,相当于AB这一事件在整体中的发生概率。即AB同时被购买的次数占所有商品组合被购买的次数之比。
      Support(A,B) = P(AB) = num(A,B)/num(AllSamples)

    置信度:

    • 置信度描述了事件A发生的情况下,事件B发生的概率。可以说置信度是一个条件概率。
      Confidence(A←B)= P(A|B) = P(AB)/P(B)
      置信度描述了用户在购买了B商品的前提下,同时购买A商品的概率。
    • 置信度是有方向的

    提升度:

    • 提升度是两个概率的比,描述在B发生了的条件下A发生的概率,比上没有任何条件A发生的概率。
      Lift(A←B)= P(A|B)/P(A) = P(AB)/(P(A)*P(B))
      如果提升度大于1,则表示在B的发生的条件下,可以推测A有更大概率发生。即如果Lift(铲子←锅)>1,则表示一位买了锅的用户有更大可能买把铲子。
    • 提升度没有方向,Lift(A←B)= Lift(B←A)
      由全概率公式易证P(A|B)/P(A) = P(B|A)/P(B)
    • 当A与B为相互独立事件时,有Lift(A←B)= 1, 因为此时P(A|B) = P(A)

    2. 注意事项

    • 零事务对关联关系的影响
      提升度受零事务的量影响。零事务可以理解为既没有买A也没有买B的订单,在实际业务的海量订单中,零事务量往往很大。
    • 数据清洗:赠品、组套捆绑销售会使特定商品大量在同订单中出现,导致一些无效的关联关系,在数据清洗的步骤中应注意剔除。

    3. 拓展知识点:

    相关文章

      网友评论

          本文标题:模式挖掘(一):频繁项集挖掘算法Apriori和FP Tree

          本文链接:https://www.haomeiwen.com/subject/edtwyktx.html