在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) 

现在你可以使用电梯低点支撑排序规则。

+0

不知道我怎么没有找到这个尾部功能,但是,这正是我需要的!谢谢!!! – Coopa