编写 Apriori 生成的规则
Posted
技术标签:
【中文标题】编写 Apriori 生成的规则【英文标题】:Writing rules generated by Apriori 【发布时间】:2013-05-24 19:44:11 【问题描述】:我正在处理一些大型交易数据。我一直在使用 read.transactions 和 apriori(arules 包的一部分)来挖掘频繁的项目配对。
我的问题是:生成规则时(使用“inspect()”),我可以在 R 控制台中轻松查看它们。现在我手动将结果复制到一个文本文件中,然后在 excel 中保存和打开。我想只使用 write.csv 或类似的东西保存生成的规则,但是当我尝试时,我收到一个错误,即无法将数据强制转换为 data.frame。
有没有人有在 R 中成功做到这一点的经验?
【问题讨论】:
【参考方案1】:我知道我在回答我自己的问题,但我发现解决方案是使用 as() 将规则转换为数据框。 [我是 R 新手,所以我第一次寻找解决方案时错过了这个。] 从那里,它可以很容易地以任何你想要的方式进行操作(子设置、排序、导出等)。
> mba = read.transactions(file="Book2.csv",rm.duplicates=FALSE, format="single", sep=",",cols=c(1,2));
> rules_1 <- apriori(mba,parameter = list(sup = 0.001, conf = 0.01, target="rules"));
> as(rules_1, "data.frame");
【讨论】:
【参考方案2】:实现这一目标的另一种方法是:
write(rules_1,
file = "association_rules.csv",
sep = ",",
quote = TRUE,
row.names = FALSE)
【讨论】:
这是一个比上述解决方案更好的解决方案,因为 as 函数可能会导致使用 Rscript 出错。此外,它使用了包的写入功能。【参考方案3】:我在努力编写我的规则以求精益求精时发现了这篇文章。我的解决方案是:
library(writexl)
write_xlsx(as(rules_1, "data.frame"), "rules_1.xlsx")
在 excel 中更容易阅读和报告。
【讨论】:
以上是关于编写 Apriori 生成的规则的主要内容,如果未能解决你的问题,请参考以下文章