适用情形
我们现在有这样一份数据,记录了近173万用户的爱好情况(数据为随机生成)。数据中每行为一个用户,每列为一个爱好属性,“y”代表有此爱好,“n”代表无此爱好,我们希望通过关联分析找出用户会倾向于同时具有哪些爱好。数据保存为csv格式,并导入R中。
此份数据中,绝大部分取值为“n”,“y”数量偏少,如果直接进行关联分析,会得到如下结果:可见,结果得到的是同时不具有的爱好规则,与想要结果不符。因此我们需要将数据转换为购物篮数据,即如下形式的数据:R语言实现
d<-read.csv("guanliandata.csv")
d[d=="n"]<-NA
trans3 <- as(d, "transactions")
data_rules1<-apriori(data=d,parameter =list(support=0.03,confidence=0.3,minlen=2))
inspect(sort(data_rules1,by="support"))
最终可得到结果:
同样的方法也可把matrix,list型数据转换为购物篮数据格式,具体可以通过help("transactions-class")进行查看。