加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

数据挖掘实验(SAS)关联规则挖掘

发布时间:2020-12-14 02:53:45 所属栏目:大数据 来源:网络整理
导读:一、实验内容: 1、单一关联规则挖掘:产品之间 2、层次关联规则挖掘:产品类型之间或产品类型与产品之间 3、多维关联规则挖掘:客户类型与产品之间 4、序列规则挖掘 ? 关联规则挖掘(Association rule mining)是数据挖掘中最活跃的研究方法之一,可以用来

一、实验内容:

1、单一关联规则挖掘:产品之间

2、层次关联规则挖掘:产品类型之间或产品类型与产品之间

3、多维关联规则挖掘:客户类型与产品之间

4、序列规则挖掘

?

关联规则挖掘(Association rule mining)是数据挖掘中最活跃的研究方法之一,可以用来发现事情之间的联系。如果两个或者多个事务之间存在一定的关联关系,那么,其中一个事务就能够通过其他事务预测到。本实验要求根据提供的数据集实现单一关联规则挖掘,层次关联规则挖掘,多维关联规则挖掘,序列规则挖掘,并得出相关结论。

?

使用的数据集:

数据集名称:association2014.csv

数据集字段说明:

CUSTID-客户编号

userType-客户类型

NUMSRVID-产品编号

datetime-交易日期

srvClass-产品类型

二、实验过程:

从SAS顶端的【Solutions】菜单下调出企业数据挖掘【Enterprise Miner】:


接下来,将数据挖掘外接程序示例数据集中的association2014.csv表导入SAS逻辑库。再双击SAS资源管理器中的逻辑库,从【File】菜单下调出【Import Data】对话框:



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


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


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

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


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


关闭对话框,询问是否保存变化时,点击【是(Y)】。

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

?

1)单一关联规则挖掘:产品之间

单一关联规则要求挖掘产品之间的关系,则属性NUMSRVID (产品编号)是此次分析的目标。双击刚刚拖入的【Input Data Source】节点。切换到【Variables】选项卡,在【Model Role】列【CUSTID】行处点击右键,选择【Set Model Role】菜单。设置CUSID(客户编号)为id,设置DATATIME(交易日期)为rejected,表明此不为序列规则挖掘,设置NUMSRVID(产品编号)为target,即本次分析的目标,并将其Measurement设为nominal类型,才可以进行关联规则分析。关闭对话框,询问是否保存变化时,点击【是(Y)】。


双击右边的【Association】节点,切换到【General】选项卡的界面如下。默认的分析模式是【By Context】,它根据输入数据源的结点信息选择合适的分析方法。如果输入数据集包括一个id变量和target变量,该结点自动执行关联分析。在【Analysis mode】中选择【Association】模式,下面的选项是设置关联最小支持度、项集最大数目和规则最小置信度。设置最小支持度(min_sup)为1%。经过分析,发现支持度最大为约8%,有一部分约2%,大多数小于1%。作者认为支持度过小的话,则代表着事务AB同时出现只存在于很小的范围内,改善此种情况也对整体局面造成不了大范围好的影响,因此不予考虑,选取最小支持度为1%。项集最大数目取默认值。最小置信度取50%。


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


2) 层次关联规则挖掘:产品类型之间或产品类型与产品之间

层次关联规则挖掘要求挖掘产品类型之间或产品类型与产品之间的关系,则属性NUMSRVID(产品编号)和srvClass(产品类型)是此次分析的目标。

因为SAS EM的association节点只允许一个变量作为Target,因此在导入数据之前需要对数据集association2014.csv做一些预处理。在association2014.csv中,复制所有数据接在原有数据之后,现在数据集由两部分完全相同的数据构成。然后用列srvClass的值(不重复)替换掉复制的数据部分列NUMSRVID的值,因此现在列NUMSRVID中既有原来“产品编号”的值,也有了复制过来的“产品类型”的值。由于列NUMSRVID的类型为数值型,而列srvClass的类型为字符型,因此我将列srvClass的值编号代替。对应关系如下表:

表格1. srvClass的值与编号对应关系

原值

A

B

C

D

E

F

G

编号

661

662

663

664

665

666

667

按照前文所述方法导入数据association2014-zhangx.csv,放在ASSOCIATION_ZHANGX下。

在EM中同样的连接Input Node和Association Node,设置Input Node的数据源为association2014-zhangx.csv,设置Variable属性如下:


因为变量NUMSRVID已经同时具有”产品编号”和“产品类型”两种值,因此直接将其设为target即可。在Association节点中,设置关联规则的分析模式。


设置完毕,点击”运行”。因为分析结果较多,且置信度Confidence都在90%以上,因此对结果按照支持度Support和提升度Lift排序,结果如下图:


按照提升度降序排列:


按照支持度降序排列:


3) 多维关联规则挖掘:客户类型与产品之间

多维关联规则挖掘客户类型与产品之间的关系,因此此次分析的目标为userType(客户类型)和NUMSRVID(产品编号)。

同样的在用户SAS进行分析前要对数据集进行处理。按照在层次关联规则挖掘中同样的方法,新建列“userType&NUMSRVID”,将“客户类型”和“产品编号”整合到一起。同样需要对uerType进行编号,映射关系如下:

表格2. 多维关系userType映射表

原值

动感地

全球通

神州行

编号

621

622

623

在SAS中导入处理后的数据集association2014 – zhangx2.csv,放在的ASSOCIA

TION_ZHANGX2下。

在SAS EM中连接Input Node和Association Node,并设置Input Node的数据源为association2014 – zhangx2.csv。

在Variable选项卡中,设置列”userType_NUMSRVID”为target,并将其Measurement由Interval改为nominal,以便进行关联规则分析。


在Association节点中,设置关联规则的分析模式。


设置完成后,运行结果如下图:


4) 序列规则挖掘

对序列模式发现,需要第三个变量,用来标识事件发生的顺序。


在General选项卡中,设置分析模式为Sequence,设置支持度为2%。


结果如下图:


三、实验总结:

通过本次实验作业,我掌握了如何使用SAS EM来进行关联规则挖掘的方法。并且关联规则挖掘来发现事情之间的联系。帮助我们进行预测,在现实中有很强的指导意义。在关联规则挖掘时主要关注两个问题:找出交易数据库中所有大于或等于用户指定的最小支持度的频繁项集;以及利用频繁项集生成所需要的关联规则,根据用户设定的最小可信度筛选出强关联规则。

在关联规则挖掘中有几个指标需要注意,它们是置信度、支持度和提升度。在进行关联规则的数据挖掘中,通过指定这三个标准的最小值,三个标准的值都大于临界值的关联规则就被列出。而且以上这三个标准缺一不可,孤立地使用这三个标准中的任意一个,都可能导致错误结果。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读