如何限制R中的先验函数以仅考虑LHS中的特定值项?

时间:2014-02-21 22:40:25

标签: r data-mining apriori arules

在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方面实现这一目标?我只能收集如何约束它以查找特定列中的规则,但不能收集任何具有特定值的列。

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。当您将数据转换为因子时(例如评论中提到的几个人转换为另一个答案),就会出现问题。当我将data.frame转换为矩阵然后转换为事务时,我只在输出中有了正规则。

答案 1 :(得分:0)

正如您已经注意到的,如果您想在右侧E=1,只需过滤您的数据

默认情况下,关联规则挖掘应该只为您提供正面规则,即A => B

通常,如果您想要使用否定规则,则必须在数据中添加否定符号,例如ANOT=1A=0

您确定不仅仅是误解输出吗?