当前位置:文档之家› apriori 关联规则R代码

apriori 关联规则R代码

install.packages("arules") #安装程序包arules
library ( arules ) #加载程序包arules

data("Groceries") #获取数据集Groceries
summary(Groceries) #获取数据集Groceries的基本信息
inspect(Groceries[1:10]) #观测Groceries数据集中前10行数据items

rules0=apriori(Groceries,parameter=list(support=0.001,confidence=0.5))
#生成关联规则rules0,这里设置minsup=0.001, mincon=0.5
rules0
inspect(rules0[1:10]) #观测 rules0 中前10条规则


#对生成规则进行强度控制#

#通过支持度和置信度共同控制#
rules1=apriori(Groceries,parameter=list(support=0.005,confidence=0.5))
rules1
rules2=apriori(Groceries,parameter=list(support=0.005,confidence=0.6))
rules2
rules3=apriori(Groceries,parameter=list(support=0.005,confidence=0.64))
rules3
inspect(rules3)

#通过支持度控制#
rules.sorted_sup = sort ( rules0, by="support" ) #按支持度降序排序
inspect ( rules.sorted_sup [1:5] ) #输出前5条强关联规则
#通过置信度控制#
rules.sorted_con = sort ( rules0, by="confidence" ) #按置信度降序排序
inspect ( rules.sorted_con [1:5] )
#通过提升度控制#
rules.sorted_lift = sort ( rules0, by="lift" ) #按提升度降序排序
inspect ( rules.sorted_lift [1:5] )

#如果商家想通过两件商品捆绑销售的办法来促销冷门商品芥末mustard,
我们需要发现rhs仅包含芥末mustard 的关联规则,从而有效地找到mustard的强关联商品#
rules4=apriori(Groceries,parameter=list(maxlen=2,supp=0.001,conf=0.1),appearance=list(rhs="mustard",default="lhs"))
inspect ( rules4 )

#输出频繁项集#
itemsets_apr = apriori ( Groceries, parameter = list (supp=0.001,target = "frequent itemsets"),control=list(sort=-1))
#将 apriori ()中目标参数取值为"frequent itemsets"
itemsets_apr #显示 "frequent itemsets"的个数
inspect(itemsets_apr[1:5]) #观测前5个频繁项集


itemsets_ecl = eclat( Groceries, parameter = list ( minlen=1, maxlen=3,supp=0.001, target = "frequent itemsets"),control=list(sort=-1))
itemsets_ecl
inspect(itemsets_ecl[1:5])


#关联规则可视化#
library ( arulesViz );library ( MASS );library ( scatterplot3d );library ( vcd );library ( grid )
library ( colorspace );library ( seriation );library ( cluster );library ( TSP );library ( gclus )

rules5 = apriori ( Groceries, parameter = list ( support=0.002, confidence=0.5 ) )
rules5

plot(rules5) #对 rules5 作散点图


plot(rules5,interactive=TRUE) #绘制互动散点图
plot(rules5,method="grouped") #rules5 作分组图

plot(rules5,shading="order", control=list(main = "Two‐key plot"))
#绘制Two‐key图,其中关联规则点的颜色深浅表示其所代表的关联
规则中所含商品的多少,商品种类越多,点的颜色越深
plot(rules5[1:50], method="matrix", measure="lift")
plot(rules5[1:50], method="matrix3D", measure="lift")
plot(rules5[1:50], method="paracoord")

相关主题
文本预览
相关文档 最新文档