R - 我如何在市场篮子分析中修剪我的超级规则的所有子集

时间:2015-05-13 05:42:29

标签: r data-mining apriori market-basket-analysis

我在R中使用arules包 我有以下规则。我想知道如何从规则中删除主规则A,B,D=>C的子集。

e.g :   
A,B=>C  
A,D=>C    
A,B,D=>C  

我必须在我的列表中获得A,B,D => C

我不希望它以封闭或最大格式显示,但希望它采用先验规则格式。

2 个答案:

答案 0 :(得分:1)

我能够通过这个源代码解决我的问题。基本上,它所做的是使用源代码的大小对整个规则进行排序,并查找特定目标的规则的所有子集。一旦我们有一个包含子集的矩阵,我就删除了在多个规则中重复规则项的所有规则。

quality(rules_ZCQ1)<-cbind(quality(rules_ZCQ1),size=size(rules_ZCQ1)) rules_ZCQ1<-sort(sort(rules_ZCQ1,decreasing=TRUE,by="support"),decreasing=TRUE,by="size") superset.matrix <- is.subset(rules_ZCQ1@lhs,y=NULL,sparse=FALSE) superset <- rowSums(superset.matrix, na.rm=T) ==1 which(superset) rules.pruned <- rules_ZCQ1[superset]

答案 1 :(得分:0)

我认为,如果您获得的规则仅包含有关A,B,D及其子集的规则,则可以使用以下公式:

julia> in([4,6,5]).([4, 6])
2-element BitArray{1}:
 true
 true