Aprior算法

什么是Aprior算法

  • Aprior算法是用来挖掘关联规则的算法

什么是关联规则

  • 关联规则是形如X→Y的蕴涵式,其中, X和Y分别称为关联规则的先导(antecedent或left-hand-side, LHS)和后继(consequent或right-hand-side, RHS) 。其中,关联规则XY,存在支持度(support)和信任度(confidence).
  • support(X=>Y)=P(X∪Y).
  • confidence(X=>Y)=P(Y|X)= P ( X Y ) P ( X ) \frac {P(XY)} {P(X)} P(X)P(XY),有时如果X是可分的,我们也将P(X)使用全概率公式做等价变换.

Aprior算法当中的先关概念

  • 项:数据库中不可分割的最小单位信息称为项。
  • 项集:项的集合称为项集,用 I 表示。项集的个数为k称为k-项集。比如,集合{啤酒、尿布、奶粉}称为3-项集。
  • 频繁模式:频繁模式是指数据集中频繁出现的项集、序列或子结构。
  • 频繁项集:频繁项集是指支持度大于等于最小支持度(min_sup)的集合。

Aprior算法的思想

符号表述

  • Ck:表示候选k项集,candidate itemset of size k
  • Lk:表示频繁k项集,frequent itemset of size k

思想

  • Apriori算法对数据集进行多次扫描。
  • 首先找出所有满足min_sup支持度的项所组成的项集,即频繁1项集L1
  • 在L1的基础上构造候选2项集C2,其中C2就是L1当中的所有项两两结合。
  • 通过对数据库中记录内容的检查,对C2进行筛选,筛选出所有满足min_sup支持度的项(这里的项指的就是二项集当中的元素{X,Y}),由这些项构成频繁2项集L2
  • 重复上面的操作,知道频繁k项集为空。
  • 将上述的频繁1~k-1项集取并集得到所有的关联规则。

  • 产生只包含集合的项的所有规则,其中每一条规则的右部只有一项,这里采用的是中规则的定义。一旦这些规则被生成,那么只有那些大于用户给定的最小可信度的规则才被留下来。为了生成所有频集,使用了递归的方法。

伪代码

在这里插入图片描述

Aprior算法python实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值