在Arules中,返回来自很多规则的最小支持项目
问题描述:
我正在处理一个产生大量规则的巨大数据集。我只需要高升力低支持规则,但我越来越超过1500万(这是设置min/maxlen和清理我的源数据后)在Arules中,返回来自很多规则的最小支持项目
我现在要做的是创建一个头几百万,并从所有规则中减去。我的希望是,最终剩下的只是桶的底部。
代码:
basket_rules2 <- apriori(ttk, parameter = list(sup = 0.03, conf = 0.25, target="rules", minlen=4, maxlen=4, maxtime=0), appearance = list(rhs = "Fail: Generator Boot-up", default ="lhs"))
rules <- sort(basket_rules, by = "sup")
head1 <- head(rules, 2000000)
head2 <- rules[ !(rules %in% head1), ]
> summary(head2)
>set of 0 rules
我也试过:
rules <- sort(basket_rules, by = "sup")
head1 <- head(rules, 2000000)
head2 <- rules[-head1,]
>Error in -head1 : invalid argument to unary operator
我用similiar语法,同时采样,我不知道为什么这是行不通的。我真正需要的是达到低支持aprori规则,我觉得我可能使这种方式比它所需要的更复杂。关于为什么我的代码无法正常工作,或者我如何才能得到真正低的sup/conf规则的任何建议?
答
我希望我能正确理解你的问题。我认为你可以这样做
library(arules)
data(Groceries)
rules <- apriori(Groceries, parameter = list(support= 0.0002))
这产生了约200万条规则。现在你可以使用tail
最低支持100条规则:
low_support_rules <- tail(rules, by = "support", n = 100)
现在你可以使用电梯低点支撑排序规则。
不知道我怎么没有找到这个尾部功能,但是,这正是我需要的!谢谢!!! – Coopa