2017-08-16 1 views
0

Je travaille avec un énorme ensemble de données qui produit une tonne de règles. Je n'ai besoin que des règles de support faible, mais je reçois plus de 15 millions (c'est après avoir réglé min/maxlen et nettoyé mes données source)dans Arules, renvoyer les plus petits articles de support à partir de beaucoup de règles

Ce que j'essaie de faire maintenant est de créer une tête de plusieurs millions, et soustrayez cela de toutes les règles. Mon espoir est que finalement tout ce qui reste est le fond du baril.

code:

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 

J'ai aussi essayé:

rules <- sort(basket_rules, by = "sup") 
head1 <- head(rules, 2000000) 
head2 <- rules[-head1,] 
>Error in -head1 : invalid argument to unary operator 

J'ai utilisé une syntaxe similaire pendant l'échantillonnage, je ne sais pas pourquoi cela ne fonctionne pas. Tout ce dont j'ai vraiment besoin, c'est d'arriver à des règles de soutien peu élevées, je pense que je devrais faire de cette façon plus compliquée que nécessaire. Des suggestions sur pourquoi mon code ne fonctionne pas, ou comment je peux obtenir les règles de sup/conf vraiment bas?

Répondre

2

J'espère avoir bien compris votre question. Je pense que vous pouvez le faire

library(arules) 
data(Groceries) 

rules <- apriori(Groceries, parameter = list(support= 0.0002)) 

ce produit environ 2 millions de règles. Maintenant, vous pouvez obtenir les 100 règles avec le soutien le plus faible en utilisant tail:

low_support_rules <- tail(rules, by = "support", n = 100) 

Maintenant, vous pouvez trier les règles bas de support en utilisant un ascenseur.

+0

Je ne sais pas comment je n'ai pas trouvé cette fonction de queue plus tôt mais oui, c'est exactement ce dont j'avais besoin! Merci!!! – Coopa