亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關聯分析(3):Apriori R語言實現

標簽:
大數據

原文链接:关联分析(3):Apriori R语言实现


R语言实现

我们对UCI机器学习库上下载的美国众议院议员投票记录数据,进行关联分析。在R中,可以直接调用arules包中的apriori()函数训练模型。

导入包与数据。arulesViz包可以将关联规则进行可视化输出,“header=F”设置读入数据时,首行不作为列名。

library(arules)

library(arulesViz)

data<-read.csv("D\\voting-records.csv", header=F)

训练模型和性能评估。在训练关联分析模型时,需要设置支持度和置信度参数,这里,我们设定支持度为30%,置信度为90%。“minlen = 2”表示选取至少包含两个项的规则,以避免得到由于某项出现过于频繁而创建的无用规则。

data_rules <- apriori(data = data, parameter = list(support = 0.3, confidence = 0.9, minlen = 2))

summary(data_rules)

性能评估结果如下:

webp

其中rule length distribution 表示规则长度分布,如前件+后件共包含两项的规则有39条。

查看规则。inspect()可以查看具体规则。首先得出根据支持度排序,位于前十位的规则。通过subset()函数,我们可以找到与某一项相关的规则。

%inspect(sort(data_rules, by="support")[1:10])

%与V15=crime:n相关的规则

crime_n<-subset(data_rules, items %in% "V15=crime:n")

inspect(sort(crime_n, by="support")[1:10])

%in%表示精确匹配。最终得到结果为:

webp

lift为提升度,表示前件存在后件发生的概率,是前件不存在但后件发生的倍数。比如第一条规则,{V15=crime:n} => {V1=democrat} 的提升度为1.6,表示{V15=crime:n}发生后 {V1=democrat}也发生,是{V15=crime:n} 不发生但{V1=democrat}发生的1.6倍。

结果可视化。可以看出规则的三个参数之间关系。

shading = "lift" 表示在散点图上颜色深浅的度量是lift。

jitter=2表示增加抖动值。measure="confidence"表示圆圈大小受置信度影响。

plot(data_rules, control=list(jitter=2), shading = "lift")

plot(sort(data_rules, by="support")[1:10], method="grouped") 

plot(sort(crime_n, by="support")[1:10], measure="confidence", method="graph", control=list(type="items"), shading = "lift")

webp

webp

webp



作者:小沁_3ca9
链接:https://www.jianshu.com/p/17816fdcd4f7


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消