Advertisement

R语言数据挖掘值关联规则挖掘

阅读量:

关联规则挖掘步骤及代码如下:

【1】设定工作目录

setwd("E:/project/Rexample/EnterpResponser_apriori")

【2】加载两个包

library("Matrix")
library("arules")

3

其中Format被定义为输入数据的格式,在这个框架下Transactions能够接收两种数据类型,并且包括single和basket两种类型的数据存储方式

单个类型表现为两列:第一列为订单编号(Order ID),第二列为该笔交易中的一个商品(Item)。例如:

  1. 可乐
  2. 雪碧
  3. 芬达
  4. 美年达
  5. 王老吉

basket型的一行对应一条交易记录,在记录中的各交易项会以特定的分隔符进行区分,并通过设置sep参数来确定各交易项之间的分割方式。
具体来说,
可乐 雪碧 一统冰红茶
则为
芬达 王老吉

当单一型的数据中存在重复记录时,则会导致该方法出现错误。
可以通过设置参数 rm.duplicates=TRUE 来去除这些重复记录。
在导入分析所需的交易数据分析前需先进行去重处理。
具体而言,
在 R 环境中,
可以调用 duplicated() 函数来识别哪些记录是重复的,
它会返回一个布尔向量,
其中值为 TRUE 表示对应的记录已经被标记出来。
随后,
通过 [!dup, ] 的索引选择条件筛选出所有非重复记录组成新的 dataframe 对象。
最后,
将这个去重后的 dataframe 对象保存到指定文件中即可完成整个操作流程。

【4】查看transactions

tr 输出tr摘要
inspect(tr[1:n]) 输出tr前n行

5

调用sort函数对rules进行排序,并以‘support’为依据排列顺序,并从第二个元素开始取前十个元素
调用sort函数对rules进行排序,并以‘confidence’为依据排列顺序,并从第二个元素开始取前十个元素

itemFrequencyPlot(tr,support = 0.05,cex.names =0.8) #数据画频繁项的图

plot(rules, fill="pattern", control=list(主图= cbind("双层图"))) #参考图1
plot(rules, type= "分组的") #参考图2
plot(rules, approach= "图表") #参考图3

全部评论 (0)

还没有任何评论哟~