library(arules)
arules=apriori(data)
##前者为条件,后者为结果
##如何来度量一个规则是否够好?用两个量,置信度(confidence)和支持度(support)
#置信度表示了这个规则有多大程度上值得可信,设条件的项的集合为A,结果的集合为B,则置信度为p(B/A)
#支持度计算在所有的交易中,既有A又有B的概率。
#如何产生规则呢,可以分两步走:
首先找到频繁集
具体理论知识和规则如下:
[引用](http://www.cnblogs.com/zgw21cn/archive/2009/05/31/1492809.html)
> http://www.cnblogs.com/zgw21cn/archive/2009/05/31/1492809.html
inspect(arules)
#只保留结果中包含生存变量的关联规则
rules=apriori(data,paramrter=list(minlen=2,supp=0.005,conf=0.8),appearance=list(rhs=c().default="lhs"),control=list(verbose=F))
rules.sort=sort(rules,by="lift")
inspect(rules.sort)
##结果解释一定要慎重
##例如减少最小支持率和置信度的阀值,则看到更多的真相
rules=apriori(data,parameter=list(minlen=3,supp=0.002,cond=0.2),appearance=list(rhs=c(""),lhs=c("",""),control=list(verbose=F)))
rules.sort=sort(rules,by="confidence")
inpect(rules.sort)
##可视化
library(arulesViz)
plot(rules)
plot(rules,method="graph",control=list(type="items"))
#实例分析
library(arules)
data(Groceries)
summary(Groceries)
itemFrequencyPlot(Groceries,support=0.05,cex.names=0.8)
#求频繁项集
fsets=eclat(Groceries,paramrter=list(support=0.05,maxlen=10))
inspect(fsets[1:10])
inspect(sort(fsets,by="support")[1:10])
rules=apriori(Groceries,parameter=list(support=0.01,conf=0.01))
#筛选规则
x = subset(rules, subset = rhs %in% "whole milk" & lift > 1.2) #帅选规则
inspect(sort(x, by = "support")[1:5])
library(arulesViz)
plot(x)
转载网址:http://blog.163.com/yugao1986@126/blog/static/6922850820137227243744/
关联分析
最新推荐文章于 2023-06-04 10:06:53 发布