求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
  
 
 
     
   
分享到
在SAS中进行数据挖掘之关联规则
 
作者 @数据化分析,火龙果软件    发布于 2013-10-24
 

由于在Excel中进行数据挖掘的结果存在不确定性(参见《解读数据挖掘之关联规则》一文的最后一段),虽然它具有操作简单的特点,但是为了保险起见,建议还是使用更专业的统计软件来进行数据挖掘。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】节点图标,切换到【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)这三个重要评价指标之中,提升度是最有可能单独使用而不致产生误导的标准,因为它可以测量关联规则增进预测右边现象的能力。但如果该规则的支持度很低,该规则也可能造成误导。

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

相关文章 相关文档 相关视频



我们该如何设计数据库
数据库设计经验谈
数据库设计过程
数据库编程总结
数据库性能调优技巧
数据库性能调整
数据库性能优化讲座
数据库系统性能调优系列
高性能数据库设计与优化
高级数据库架构师
数据仓库和数据挖掘技术
Hadoop原理、部署与性能调优
 
分享到
 
 
     


MySQL索引背后的数据结构
MySQL性能调优与架构设计
SQL Server数据库备份与恢复
让数据库飞起来 10大DB2优化
oracle的临时表空间写满磁盘
数据库的跨平台设计
更多...   


并发、大容量、高性能数据库
高级数据库架构设计师
Hadoop原理与实践
Oracle 数据仓库
数据仓库和数据挖掘
Oracle数据库开发与管理


GE 区块链技术与实现培训
航天科工某子公司 Nodejs高级应用开发
中盛益华 卓越管理者必须具备的五项能力
某信息技术公司 Python培训
某博彩IT系统厂商 易用性测试与评估
中国邮储银行 测试成熟度模型集成(TMMI)
中物院 产品经理与产品管理
更多...