51dev.com IT技术开发者社区

51dev.com 技术开发者社区

用R实现关联分析文档

人工智能互联网报道阅读(36)2019-09-30 收藏0次评论

参考用书:数据挖掘:R语言实战      黄文 王正林  编著

关联分析是数据挖掘的核心技术之一,经典案例啤酒和纸尿裤
项集:集合的概念  ( itemset)
关联规则(Association RUle)
三个核心概念:支持度(support)、置信度(confidence)和提升度(lift)

install.packages("arules")#下载arules包
library(arules)#加载
?apriori
#apriori(data, parameter = NULL, appearance = NULL, control = NULL)
parameter参数可以对支持度、置信度、每个项集的最大和/最小值(maxlen/minlen)以及输出结果(target)
等重要参数进行设置。如果没有设置则为默认值:supp=0.1,confidence=0.8,maxlen=10,minlen=1,target="rules"/"frequent itemsets"
数appearance可以对先决条件X(lhs)和关联结果Y(rhs)具体包含哪些项进行限制,如设置lhs=beer,
将近输出lhs中含有“啤酒”这一项的关联规则,在默认情况下所有相斗无限制出现
control参数则用来控制函数性能,如可以设定对项集进行升序(sort=1)还是降序(sort=-1)排序
是有向使用者报告进程(verbose=TURE/FALSE)等
?eclat
#eclat(data, parameter = NULL, control = NULL)
基本一样,paramrter中输出结果target不可设置为rules,maxlen默认值为5
data("Groceries")#使用Groceries数据集做示范
summary(Groceries)#获取数据集的基本信息
inspect(Groceries[1:6])#显示数据集的前六行数据items
rules0=apriori(Groceries,parameter=list(support=0.001,confidence=0.5))
#生成关联规则
rules0#显示条数
inspect(rules0[1:6])#观测前六条规则

rule1=apriori(Groceries,parameter = list(support=0.005,confidence=0.5))
#调整支持度获取更加有效的信息
rule1
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")
#将rules0中规则按照supp排序
inspect(rules.sorted_sup[1:5])#显示前五条
rules.sorted_con=sort(rules0,by="confidence")
#按置信度(conf)排序
inspect(rules.sorted_con[1:5])#显示前五条
rules.sored_lift=sort(rules0,by="lift")
#按提升度(lift)排序
inspect((rules.sored_lift[1:5]))#显示
rules4=apriori(Groceries,parameter=list(supp=0.001,maxlen=2,conf=0.1),
               appearance =list(rhs="mustard",default="lhs"))
               #仅生成关联结果中的含“mastard”的关联规则
inspect(rules4)
itemsets_apr=eclat(Groceries,parameter=list(supp=0.001,maxlen=2,
target="frequent itemsets"),control=list(sort=-1))
#参数取值设为频繁项集
itemsets_apr                   
itemsets_ecl=eclat(Groceries,parameter = list(minlen=1,maxlen=3,supp=0.001,
                  target="frequent itemsets"),control = list(sort=-1))
                  #按出现的频繁程度排序,输出项数为2的项集
itemsets_ecl                  
install.packages("arulesViz")#arulesViz专注于关联规则可视化的
library(arulesViz)                  
rules5=apriori(Groceries,parameter = list(supp=0.002,conf=0.5))
rules5
plot(rules5)
#散点图
plot(rules5,measure = c("support","lift"),shading = "confidence")
#更改参数设置变换横纵轴及颜色调所对应的变量
plot(rules5,interactive = T)
#绘制互动散点图,interactivewei互动参数
plot(rules5,shading = "order",control = list(main=321))
#绘制Two-key plot
plot(rules5,method="grouped")
#绘制分组图
更改参数method为matrix、matrix3D、paracoord等可绘制其他参数。

以上就是用R实现关联分析文档的全部内容,请多关注【51DEV】IT技术开发者社区。

上一篇: js立即执行函数