gpt4 book ai didi

r - 如何从 R 中的 apriori 调用中获取常见项集的频率?

转载 作者:行者123 更新时间:2023-12-02 02:57:39 26 4
gpt4 key购买 nike

问题:

apriori arules的功能包从输入事务中推断关联规则,并报告每条规则的支持置信度提升。关联规则源自频繁项集。我想获取输入事务中最频繁的项集。具体来说,我想获得具有给定最小支持的所有项集。项集的支持度是指包含该项集的事务数与总事务数的比值。

要求:

  1. 我强烈希望从 apriori 的中间结果中找到最频繁的项集。功能。也就是说,我不想从头开始编写一个程序来计算最频繁的项集,因为 apriori函数已经将其计算为中间步骤。尽管如此,如果确实没有合理的方法来访问 apriori 的中间结果,功能,我愿意接受其他解决方案。
  2. 我不想对 apriori 的结果进行字符串操作函数,因为这种方法将过于依赖 apriori 结果的字符串表示形式功能。再次强调,如果没有更好的选择,我可能会采用这种方法。
  3. 我知道 arules 提供的 itemFrequency 函数包裹。不幸的是,这个函数只报告单个项目的项目集。我对具有最小支持的任意长度的所有项集感兴趣。
  4. 我希望输出按支持数字排序,然后按项目集字典顺序排序。

输入示例:

a,b
a,b,c

程序:

# The following is how I'm using apriori to infer the association rules.
library(package = "arules")
transactions = read.transactions(file = file("stdin"), format = "basket", sep = ",")
rules = apriori(transactions, parameter = list(minlen=1, sup = 0.001, conf = 0.001))
WRITE(rules, file = "", sep = ",", quote = TRUE, col.names = NA)

当前输出:

"","rules","support","confidence","lift"
"1","{} => {c}",0.5,0.5,1
"2","{} => {b}",1,1,1
"3","{} => {a}",1,1,1
"4","{c} => {b}",0.5,1,1
"5","{b} => {c}",0.5,0.5,1
"6","{c} => {a}",0.5,1,1
"7","{a} => {c}",0.5,0.5,1
"8","{b} => {a}",1,1,1
"9","{a} => {b}",1,1,1
"10","{b,c} => {a}",0.5,1,1
"11","{a,c} => {b}",0.5,1,1
"12","{a,b} => {c}",0.5,0.5,1

所需输出:

"itemset","support"
"{a}",1
"{a,b}",1
"{b}",1
"{a,b,c}",0.5
"{a,c}",0.5
"{b,c}",0.5
"{c}",0.5

最佳答案

我在引用文献 manual 中找到了 generateItemsets 函数arules 包的一部分。

library(package = "arules")
transactions = read.transactions(file = file("stdin"), format = "basket", sep = ",")
rules = apriori(transactions, parameter = list(minlen=1, sup = 0.001, conf = 0.001))
itemsets <- unique(generatingItemsets(rules))
itemsets.df <- as(itemsets, "data.frame")
frequentItemsets <- itemsets.df[with(itemsets.df, order(-support,items)),]
names(frequentItemsets)[1] <- "itemset"
write.table(frequentItemsets, file = "", sep = ",", row.names = FALSE)

关于r - 如何从 R 中的 apriori 调用中获取常见项集的频率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8857635/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com