关联规则

13.1 关联分析基础概念
1.关联规则定义 关联规则定义:假设 是项的集合。给定一个交易数据库 D,其中每个事务 (Transaction)t 是 I 的非空子集,即,每一个交易都与一个唯一的标识符 TID(Transaction ID)对应。

 关联规则在 D 中的支持度(support)是 D 中事务同时包含 X、Y 的百分比,即概率;

1)支持度 Support(A->B)=P(A U B)。支持度揭示了 A 与 B 同时出现的概率。如果 A 与 B 同时出现的概率小, 说明 A 与 B 的关系不大;如果 A 与 B 同时出现的非常频繁,则说明 A 与 B 总是相关的。

 置信度(confidence)是 D 中事务已经包含 X 的情况下,包含 Y 的百分比,即条件概率。

2)置信度 Confidence(A->B)=P(A | B)=P(A U B)/P(A )。置信度揭示了 A 出现时,B 是否也会出现或有多大概率出现。如果置信度度为 100%,则 A 和 B 可以捆绑销售了。如果置信度太低,则说明 A 的出现与 B 是否出现关系不大

3)k 项集事件 如果事件 A 中包含 k 个元素,那么称这个事件 A 为 k 项集事件,A 满足最小支持度阈值的事件称为 频繁 k 项集 

4)强规则 同时满足最小支持度阈值和最小置信度阈值的规则称为强规则

如果满足最小 支持度阈值和最小置信度阈值,则认为关联规则是有趣的。

5)提升度表示含有Y的条件下,同时含有X的概率,与X总体发生的概率之比,即:

Lift(XY)=P(X|Y)/P(X)=Confidence(XY)/P(X)Lift(X⇐Y)=P(X|Y)/P(X)=Confidence(X⇐Y)/P(X)

 提升度体先了X和Y之间的关联关系, 提升度大于1则

XYX⇐Y是有效的强关联规则, 提升度小于等于1则XYX⇐Y是无效的强关联规则 。一个特殊的情况,如果X和Y独立,则有Lift(XY)=1Lift(X⇐Y)=1,因为此时P(X|Y)=P(X)P(X|Y)=P(X)

 


Apriori算法采用了迭代的方法,先搜索出候选1项集及对应的支持度,剪枝去掉低于支持度的1项集,得到频繁1项集。
然后对剩下的频繁1项集进行连接,得到候选的频繁2项集,筛选去掉低于支持度的候选频繁2项集,得到真正的频繁二项集,
以此类推,迭代下去,直到无法找到频繁k+1项集为止,对应的频繁k项集的集合即为算法的输出结果。


我们的数据集D有4条记录,分别是134,235,1235和25。现在我们用Apriori算法来寻找频繁k项集,最小支持度设置为50%。首先我们生成候选频繁1项集,包括我们所有的5个数据并计算5个数据的支持度,计算完毕后我们进行剪枝,数据4由于支持度只有25%被剪掉。我们最终的频繁1项集为1235,现在我们链接生成候选频繁2项集,包括12,13,15,23,25,35共6组。此时我们的第一轮迭代结束。

    进入第二轮迭代,我们扫描数据集计算候选频繁2项集的支持度,接着进行剪枝,由于12和15的支持度只有25%而被筛除,得到真正的频繁2项集,包括13,23,25,35。现在我们链接生成候选频繁3项集,123, 125,135和235共4组,这部分图中没有画出。通过计算候选频繁3项集的支持度,我们发现123,125和135的支持度均为25%,因此接着被剪枝,最终得到的真正频繁3项集为235一组。由于此时我们无法再进行数据连接,进而得到候选频繁4项集,最终的结果即为频繁3三项集235。

3. Aprior算法流程

    输入:数据集合D,支持度阈值αα

    输出:最大的频繁k项集

    1)扫描整个数据集,得到所有出现过的数据,作为候选频繁1项集。k=1,频繁0项集为空集。

    2)挖掘频繁k项集

      a) 扫描数据计算候选频繁k项集的支持度

      b) 去除候选频繁k项集中支持度低于阈值的数据集,得到频繁k项集。如果得到的频繁k项集为空,则直接返回频繁k-1项集的集合作为算法结果,算法结束。如果得到的频繁k项集只有一项,则直接返回频繁k项集的集合作为算法结果,算法结束。

      c) 基于频繁k项集,连接生成候选频繁k+1项集。

    3) 令k=k+1,转入步骤2。

    从算法的步骤可以看出,Aprior算法每轮迭代都要扫描数据集,因此在数据集很大,数据种类很多的时候,算法效率很低。

参考链接:https://www.cnblogs.com/pinard/p/6293298.html


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值