SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 2642|回复: 1
打印 上一主题 下一主题

[转] 在SAS中进行关联规则分析

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2013-8-15 07:48:27 | 只看该作者

[转] 在SAS中进行关联规则分析

SAS系统被誉为国际上的标准软件系统,本文将详细介绍如何在SAS/EM模块中进行关联规则数据挖掘,使用的软件版本是SAS 9.1.3下的Enterprise Miner 4.3:

从SAS顶端的【解决方案(S)】菜单下调出企业数据挖掘(也可以通过在命令行输入miner):

SAS/EM的初始界面如下:

接下来,将数据挖掘外接程序示例数据集中的Associate表导入SAS逻辑库。先将xlsx文件另存为xls文件,再双击SAS资源管理器中的逻辑库,从【文件(F)】菜单下调出【导入数据】对话框:

点击【Next >】,选择xls文件及相应的工作表:

点击【Next >】,选择相应的SAS逻辑库并命名:

点击【Finish】,完成数据导入操作。回到SAS/EM界面,双击Untitled节点并重命名为Analysis。

鼠标左键按住上方工具栏中的【Input Data Source】节点不放,拖入右边的空白区域之后再放开鼠标,此时SAS/EM界面如下:

双击刚刚拖入的【Input Data Source】节点,选择前面导入的数据集Sasuser.Associate:

切换到【Variables】选项卡,在【Model Role】列【CATEGORY】行处点击右键,选择【Set Model Role】菜单:

分别将【CATEGORY】行设置为target,其他两行设置为rejected:

关闭对话框,询问是否保存变化时,点击【是(Y)】。若关闭SAS后重新打开EM项目时弹出Diagram被锁,则删除emproj文件夹中后缀是.lck的文件即可继续编辑。

鼠标左键按住上方工具栏中的【Association】节点不放,拖入右边的空白区域之后再放开鼠标。将鼠标移向旁边的【SASUSER.ASSOCIATE】节点周围,当变成十字型时,鼠标左键按住不放,拖向【Association】节点,此时SAS/EM界面如下:

双击右边的【Association】节点在SAS中进行数据挖掘之关联规则图标,切换到【General】选项卡的界面如下:

默认的分析模式是【By Context】,它根据输入数据源的结点信息选择合适的分析方法。如果输入数据集包括一个id变量和target变量,该结点自动执行关联分析。下面的选项是设置关联最小支持度、项集最大数目和规则最小置信度。

关闭【Association】对话框,右键【Association】节点图标,在弹出的下拉选项中选择【Run】,得到运行结果如下:

此时在【Rules】选项卡上右键单击,会弹出查看图形菜单:

选择【图形(G)】之后,将窗口拉伸到合适的宽度,有些图例需要拉到更宽才会显示出来,结果界面如下:

前面结果表中的19条关联规则都体现在这张图里面,此图的信息量比较大。我们以右下方的圆圈为例来解读它的含义:从纵横坐标轴来看,此圆圈对应表中的第11条关联规则,即{Road Bikes ==> Jerseys};从圆圈标示对应的图例来看,它表示置信度(Confidence)在20.24%到24.13%区间内,从表中可以看出实际值为20.26%;从圆圈的颜色对应的图例来看,它表示支持度(Support)在3.12%到3.78%区间内,从表中可以看出实际值为3.68%;圆圈的大小表示提升度(Lift)的大小,从表中可以看出实际值为1.34。

上面提到的置信度(Confidence)、支持度(Support)、提升度(Lift)是关联发现的三个重要评价指标,它们都是怎么计算出来的呢?我们还是以前面提到的第11条关联规则{Road Bikes ==> Jerseys}为例进行说明:

先简单统计一下数据源中相关数据,总共13050个订单,其中有购买Road Bikes订单的2369个,有购买Jerseys的订单1978个,同时购买了Road Bikes和Jerseys的订单480个,计算以下几个概率:

P(Road Bikes) = 2369/13050 = 18.15%

P(Jerseys) = 1978/13050 = 15.16%

P(Road Bikes & Jerseys) = 480/13050 = 3.68%

置信度Confidence(Road Bikes ==> Jerseys)表示在客户购买Road Bikes的条件下,同时又购买Jerseys的概率,即P(Jerseys|Road Bikes) = P(Road Bikes & Jerseys)/P(Road Bikes) = 3.68%/18.15% = 20.26%。置信度越高,说明相关联的商品被交叉销售的机会越大。

支持度Support(Road Bikes ==> Jerseys)表示客户同时购买过Road Bikes和Jerseys的概率,即P(Road Bikes & Jerseys) = 3.68%。支持度越高,说明相关联的商品被同时购买的越频繁。

提升度Lift(Road Bikes ==> Jerseys)表示使用关联规则可以提升的倍数,是置信度与期望置信度的比值,公式为Confidence(Road Bikes ==> Jerseys)/P(Jerseys) = 20.26%/15.16% = 1.34。

在进行关联规则的数据挖掘中,通过指定这三个标准的最小值,三个标准的值都大于临界值的关联规则就被列出。而且以上这三个标准缺一不可,孤立地使用这三个标准中的任意一个,都可能导致错误结果。

当某种常见现象出现在关联规则右边时,高置信度也会产生误导。比如以下几条规则的置信度都比较高,但几乎是没有作用的规则:“买方便面则买牛奶”、“买牙刷则买牛奶”、“喜欢野外休闲则会买牛奶”等等。这一类规则的置信度和支持度都会比较高,因为很少有人会不买牛奶。但这一类规则没有任何作用。

在关联规则结果界面是查看表的情况下,还可以在查看菜单下选择【生成表子集(S)...】,通过设定筛选出想要的关联规则出来,例如下图是在【Confidence】选项卡中设定最小置信度为26:

点击【Process】后,结果将筛选出8条关联规则。

在置信度(Confidence)、支持度(Support)、提升度(Lift)这三个重要评价指标之中,提升度是最有可能单独使用而不致产生误导的标准,因为它可以测量关联规则增进预测右边现象的能力。但如果该规则的支持度很低,该规则也可能造成误导。

除了以上三个对关联规则的数量标准外,一条关联规则真正可取,还需要具备以下两个条件:一是该规则必须是人们常识之外、意料之外的关联,二是该规则必须具有潜在的作用,而目前任何技术与算法都无法判断哪些知识属于常识,也无法判断哪些属于可能具有潜在作用的规则,因此关联规则的挖掘离不开人的作用。

原帖:http://www.itongji.cn/article/091010352012.html
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2013-9-4 15:10:02 | 只看该作者

Re: [转] 在SAS中进行关联规则分析

求EM模块!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2024-11-22 14:36 , Processed in 0.229368 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表