关联分析应用在很多场合,比如顾客在超市购买某种商品的同时总是购买另外一种商品,这之间或许存在某种联系,在实际情况中,我们可以分析其关联性,优化资源配置,提高销售量。R软件中的arules包可以帮助我们完成此项内容。
工具/原料
R
rattle
方法/步骤
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","fruitjuice","bread","cola","sandwich","meat","milk","egg","fruitjuice","egg","bread","sandwich","cola","sandwich","milk","meat","fruitjuice","bread","egg"))table(Sales)
3、关联规则需要的数据为transactions形式,可以看到返回的结果是10行7列的数据。##转换数据集Sales_trans<-as(split(Sales$goods,Sales$ID),"transactions")Sales_trans
4、建立模型,要用到函数apriori(data,par瞢铍库祢ameter=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])