1、安装并加载程序包arules和rattle,可以使用代码,也可以直接在R软件菜单栏安装和加载。install.packages("arules")install.packages("rattle")library(arules)library(rattle)
2、这里以早餐食品销售数倌栗受绽据为例,ID为客户编号,goods为客户种类。利用table函数可以看到每个顾客对应购买的食品,结果中1表姨胀兽辱示购买了该项产品,0表示没有购买。代码如下:##查看数据Sales<-data.frame(ID=c(1,1,1,2,2,3,3,3,3,4,5,5,6,6,6,6,7,7,8,8,9,9,10),goods=c("bread","milk","meat","egg","milk","fruit juice","bread","cola","sandwich","meat","milk","egg","fruit juice","egg","bread","sandwich","cola","sandwich","milk","meat","fruit juice","bread","egg"))table(Sales)
3、关联规则需要的数据为transactions形式,可以看到返回的结果是10行7列的数据。##转换数据集Sales_trans<- as(split(Sales$goods,Sales$ID),"transactions")Sales_trans
4、建立模型,要用到函数apriori(data, parameter = NULL, appearan艘早祓胂ce = NULL, control = NULL),data为transactions形式的数据集,parameter为参数列表,包含最低支持度support(0.1)、最低置信度confidence(默认0.8),appearance可以限制项集的出现,一个项即出现某一种商品,control可以控制算法的性能,比如对项集排序等。##建立关联规则Sales_apriori_model <- apriori(Sales_trans, parameter=list(support=0.2,confidence=0.1))
5、查看模型结果。summary(Sales_apriori_model)
6、查看模型结果,并取置信度(Confidence)排在前五的结果。lift表示提升度,count表示数量。inspect(sort(Sales_apriori_model, by="confidence")[1:5])