人们通过发现关联的规则,可以从一件事情的发生,来推测另外一件事情的发生,从而更好地了解和掌握事物的发展规律等等,这就是寻找关联规则的基本意义。关联规则的实际应用包括:交叉销售、邮购目录的设计、商品摆放、流失客户分析、基于购买模式进行客户区隔等等…… 关联规则数据挖掘中最经典的案例就是沃尔玛的啤酒和尿布的故事。沃尔玛拥有世界上最大的数据仓库系统,为了能够准确了解顾客在其门店的购买习惯,沃尔玛对其顾客的购物行为进行购物篮分析,想知道顾客经常一起购买的商品有哪些。沃尔玛数据仓库里集中了其各门店的详细原始交易数据。在这些原始交易数据的基础上,沃尔玛利用数据挖掘方法对这些数据进行分析和挖掘。一个意外的发现是:“跟尿布一起购买最多的商品竟是啤酒!”经过大量实际调查和分析,揭示了一个隐藏在“尿布与啤酒”背后的美国人的一种行为模式:在美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,而他们中有30%~40%的人同时也为自己买一些啤酒。产生这一现象的原因是:美国的太太们常叮嘱她们的丈夫下班后为小孩买尿布,而丈夫们在买尿布后又随手带回了他们喜欢的啤酒。 在不同资料或程序中,关联规则的内容表述或许不同,但基本原理应是一致的,本文以Excel数据挖掘外接程序为例,使用它会涉及到几个重要的参数,分别是:项集(Itemset)、支持(Support)、概率(Probability)、重要性(Importance)。下面用一个非常简单的示例分别加以说明,仅是为了方便快速理解相关概念,千万不要对号入座!假设有3笔交易对应的产品明细如下表: 1、项集(Itemset):项集包含一组产品,上面的示例包含3个项集,分别是:{啤酒}、{尿布}、{啤酒,尿布}。每个项集都有一个大小,该大小表示项集中包含的项的数目,例如项集{啤酒}的大小是1,项集{啤酒,尿布}的大小是2。 频繁项集是在数据集中出现频率相当高的那些项集。 2、支持(Support):支持表示一个项集出现的次数,例如项集{啤酒,尿布}的支持是同时包含啤酒和尿布的交易总个数。Support({啤酒})=2,Support({尿布})=3,Support({啤酒,尿布})=2。 Minimum_Support是一个阈值参数,必须在处理关联模型之前指定该参数。该参数表示用户只对某些项集和规则感兴趣,这些规则表示数据集的最低支持度。它是用于对项集进行限制,而不是对规则进行限制。 3、概率(Probability):也叫置信度(Confidence),是关联规则的属性。 Probability(尿布=>啤酒)=Probability(啤酒|尿布)=Support({啤酒,尿布})/Support({尿布})=66.7% Probability(啤酒=>尿布)=Probability(尿布|啤酒)=Support({啤酒,尿布})/Support({啤酒})=100% Minimum_Probability是一个阈值参数,必须在运行算法之前指定该参数。它表用户只对某些规则感兴趣,这些规则要大于或等于最小的概率。它对项集没有任何影响,它影响的是规则。 4、重要性(Importance):实际挖掘出来的一些关联规则,并非都是有用的,甚至是有一定的误导性,所以重要性这个指标就显得非常重要。关联规则重要性的定义,微软官方文档的翻译为:在已知规则左侧的情况下,求规则右侧的对数可能性值。这个怎么理解呢?个人认为它类似于概率论中相关性的概念,先计算概率的比率,然后使用对数将该比率规范化。下面是示例的计算结果(暂不知它的具体计算过程,希望知道的朋友能够告知): Importance(尿布=>啤酒)=Log10(6/5)=0.08 Importance(啤酒=>尿布)=Log10(9/8)=0.05 如果重要性分数为0,则表示没有关联;正的重要性分数表示正相关;负的重要性分数表示负相关。 综上所述,这个简单示例的关联规则挖掘结果可以解读为:购买了尿布的消费者,有66.7%的人会同时购买啤酒,重要性是正数,约为0.08,表示当客户购买尿布时,购买啤酒的可能性会加大。反之,购买了啤酒的消费者,100%都会同时购买尿布,但重要性比 {尿布=>啤酒} 这个关联规则要低一点。 上一篇博文《在Excel中进行数据挖掘》中的结果可以这样解读:从第二条关联规则挖掘结果来看,购买了Bike Stands的消费者,有79.8%的人会同时购买Tires and Tubes,重要性约为0.263,因此当客户购买Bike Stands时,购买Tires and Tubes的可能性比较大,建议将它们放在一起进行销售。 值得一提的是,使用同样的数据源,参数设置都一样,不同时间运行的结果却可能不一样,比如我现在再次运行此关联规则,{Bike Stands -> Tires and Tubes}的概率是82.1%,重要性是0.275,虽然差异不算太大,但还是令我有点困惑,望知情人能够告知原因,在此先谢过了。
|