在R中,我正在尝试使用apriori函数进行关联规则学习。
我有这样的数据集:
A B C D E
1 0 0 1 0
1 0 1 0 1
1 1 1 0 1
0 0 0 1 0
我对E = 1
的情况感兴趣,我可以这样做:
inspect( subset( rules.sorted, subset = rhs %pin% "E=1" ))
但我也对仅LHS
包含'=1'
条件而不是'=0'
的情况感兴趣。
所以,我不想要这样的规则:
{A=1,D=0} => {E=1}
我只想要像
这样的规则{A=1,C=1} => {E=1}
如何在LHS
方面实现这一目标?我只能收集如何约束它以查找特定列中的规则,但不能收集任何具有特定值的列。
答案 0 :(得分:1)
我遇到了同样的问题。当您将数据转换为因子时(例如评论中提到的几个人转换为另一个答案),就会出现问题。当我将data.frame转换为矩阵然后转换为事务时,我只在输出中有了正规则。
答案 1 :(得分:0)
正如您已经注意到的,如果您想在右侧E=1
,只需过滤您的数据。
默认情况下,关联规则挖掘应该只为您提供正面规则,即A => B
。
通常,如果您想要使用否定规则,则必须在数据中添加否定符号,例如ANOT=1
时A=0
。
您确定不仅仅是误解输出吗?