热线电话:13121318867

登录
2018-10-31 阅读量: 844
关联规则算法是个啥

关联规则挖掘是数据挖掘中成果颇丰而且比较活跃的研究分支。采用关联模型比较典型的案例是“尿布与啤酒”的故事。在美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,超市也因此发现了一个规律,在购买婴儿尿布的年轻父亲们中,有30%~40%的人同时要买一些啤酒。超市随后调整了货架的摆放,把尿布和啤酒放在一起,明显增加了销售额。同样的,我们还可以根据关联规则在商品销售方面做各种促销活动。

除此以外,关联规则挖掘还经常被用于:

• 电信套餐的捆绑销售

• 歌曲推荐或者视频的“猜你喜欢”

• 电商的产品推荐

• 财务的归因分析

最近参加了一些学生的创新创业活动,令人印象深刻的是,他们的脑海中总能迸发出无穷的创意。受此启发,我想着尽快把这部分的内容整理出来,希望能够对大家在商业模式的选择上有所帮助。

先了解几个相关的概念:

• 关联(association):两个或多个变量的取值之间存在某种规律性。

• 关联规则(associationrule):指在同一个事件中出现的不同项的相关性。

• 关联分析(associationanalysis):用于发现隐藏在大型数据集中的令人感兴趣的联系。

• 项和事物:令I={i1, i2, ……,id}是购物篮数据中所有项的集合,而T={t1, t2, ……,tn}是所有事务的集合。

• 项集(itemset):包含0个或者多个项的集合被称为项集。

• 支持度计数:即包含特定项集的事务个数。

关联规则是形如A=>B的蕴含表达式,其中A和B是不相交的项集。下面我们来看三个重要的公式:

• 支持度(support):support(A=>B)=P(A or B)

• 置信度(confidence):confidence(A=>B)=P(B|A)

• 提升度(lift):lift(A=>B)=P(B|A)/P(B)

这里我们不难看出,支持度指的是两个事件同时发生的概率(实践中用频率表示),这个值如果太小,只能认为是偶尔事件,而不能认为是规则,置信度是指条件概率,表示A发生条件下B发生的强度,提升度是一个比值,用来衡量A条件的重要性。

看一个小例子:

下面是一个购物篮清单

1.png

这里TID是交易编号,不参与计算,右边ABCDEF分别表示不同的商品,下面两个规则的支持度和置信度分别为:

• A => C (50%, 66.6%)

• C =>A  (50%, 100%)

关联规则挖掘的基本过程给定事务的集合T,关联规则发现是指找出支持度大于等于minsup,并且置信度大于等于minconf的所有规则,其中minsup和minconf是对应的支持度和置信度的阈值。由于需要计算每一个可能规则的支持度和置信度,这种方法过高的代价让人望而却步。因此,我们将目标做相应转化为找出所有频繁项集,即发现满足最小支持度阈值的所有项集,这些项集称作频繁项集(frequent itemset),并进一步由频繁项集中提取所有高置信度的规则(受篇幅影响,这部分暂时省略),这些规则称作强规则(strongrule)。下面我们通过算例来实现上面的想法。

0.0000
4
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子