R - 我如何在购物篮分析中修剪我的超级规则的所有子集
R - How do i prune all subsets of my super-rule in 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
。
我不希望它采用封闭或最大格式,但希望它采用先验规则格式。
我能够通过这个源代码解决我的问题。基本上,它所做的是使用源代码的大小对整个规则进行排序,并找到特定目标的所有规则子集。一旦我们有了一个包含子集的矩阵,我就删除了所有规则项在多个规则中重复的规则。
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]
我想如果你得到的规则只包含关于 A、B、D 及其子集的规则,那么你可以使用以下公式:
result = subset(ABD_rules,subset = lhs %ain% c("A","B","D"))
我正在使用 R 中的 arules 包。
我有以下规则。我想知道如何从我的规则中删除主规则 A,B,D=>C
的子集。
e.g :
A,B=>C
A,D=>C
A,B,D=>C
我只能在我的列表中得到 A,B,D => C
。
我不希望它采用封闭或最大格式,但希望它采用先验规则格式。
我能够通过这个源代码解决我的问题。基本上,它所做的是使用源代码的大小对整个规则进行排序,并找到特定目标的所有规则子集。一旦我们有了一个包含子集的矩阵,我就删除了所有规则项在多个规则中重复的规则。
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]
我想如果你得到的规则只包含关于 A、B、D 及其子集的规则,那么你可以使用以下公式:
result = subset(ABD_rules,subset = lhs %ain% c("A","B","D"))