Pruning redundant rules
Among the generated rules, we sometimes find repeated or redundant rules (for example, one rule is the super rule or subset of another rule). In this recipe, we will show you how to prune (or remove) repeated or redundant rules.
Getting ready
In this recipe, you have to complete the previous recipe by generating rules and have them stored in the rules
variable.
How to do it...
Perform the following steps to prune redundant rules:
- First, follow these steps to find redundant rules:
> rules.sorted = sort(rules, by="lift") > subset.matrix = is.subset(rules.sorted, rules.sorted) > subset.matrix[lower.tri(subset.matrix, diag=T)] = NA > redundant = colSums(subset.matrix, na.rm=T) >= 1
- You can then remove redundant rules:
> rules.pruned = rules.sorted[!redundant] > inspect(head(rules.pruned)) Output lhsrhs support confidence lift 1 {Instant food products, ...