优秀的编程知识分享平台

网站首页 > 技术文章 正文

R语言——关联规则(r语言关联规则分析)

nanyue 2024-10-07 11:15:29 技术文章 25 ℃

今天内容很短,而且因为我着急要赶紧去睡了,所以不拖篇幅,有多短写多短

关联规则在R中现成的包,包名叫arules,请提前下好

开始——上表格,数据表里的GroupNo是一个1-20之间的数列,表长度465行

任务是把表格中的GroupNo一列每10个放在一组,看下同组中哪几个GroupNo经常同时出现

#整理表格数据

Table <- read.csv("Data.csv")

str(Table)

z <- rep(c(1:47),each = 10)

list1 <- split(Table$GroupNo, z)

别看整理成list形式好像已经很扯了,后面还有更扯的一步,把这个list转换成关联规则函数可以接收的transaction格式

#装载arules包

library("arules")

#把list转换成transaction格式

trans1 <- as(list1, "transactions")

这里冒出来的警告信息是去除了重复项,看起来好像不影响后边的计算,我就继续了

本篇最重要函数——apriori,可以不输入任何参数,这样的话会按照默认的最小支持度(0.1)和最小置信度(0.8)来计算

rules1 <- apriori(trans1)

重点关注倒数第二行,这次计算生成了174条关联,说起来咱应该也用不着那么多,所以提高支持度和置信度的阈(di)值(xian)看看

rules2 <- apriori(trans1, parameter = list(supp = 0.3, conf = 0.9))

17条,这个可以有,用inspect可以查看里面的规则内容

inspect(rules2)

默认的顺序是按支持度(support)降序,不喜欢的话也可以用head函数整理重排一下

inspect(head(rules2, n = 5, by = "lift"))

好了,偶去睡了

Tags:

最近发表
标签列表