0
我有一组事务包含来自两个类(A和B)的项目,并且我希望生成封闭关联规则,其中前提条件仅包含来自A类的项目以及来自B类的后续项目例如,我寻找形式的规则:R arules:生成关联关系。有外观限制的规则
- {A1} => {B2}
- {A2,A3} => {B1}
- {A3,A1} => {B3}
我可以很容易地独立完成其中任何一项,但是无法用这两个约束来生成规则。
rules <- apriori(
trans,
parameter = list(minlen=2, maxlen=4),
appearance = list(lhs = class_A, rhs = class_B, default='none')
)
上面的代码生成的规则符合外观约束,但没有关闭。我一直无法找到apriori
的参数来生成封闭规则。
我能够使用以下代码生成封闭规则,但在传递ruleInduction
外观参数时失败。
closed_is <- apriori(
trans,
parameter = list(minlen=2, maxlen=4, target="closed frequent itemsets"),
)
closed_rules <- ruleInduction(
closed_is,
transactions = trans
)
我试图使用subset
产生接近规则后应用所需的LHS/RHS类约束,但一直未果。例如,
target_lhs_rules <- subset(closed_rules, subset = lhs %in% as.character(class_A))
给所有的从A级至少有一个项目的规则,但不是唯一的A级。因为在A级的所有项目
target_lhs_rules <- subset(closed_rules, subset = lhs %ain% as.character(class_A))
结果中没有规则,不会出现在任何规则中。
当然arules
包涵盖了这种情况,但我一直没能找到办法。任何帮助克服这一点将不胜感激!