R中的关联规则:如何根据项目选择规则?



我正在使用rarules包围绕事务数据集生成规则。在数据集中,我有超过 500 笔交易,涉及苹果、啤酒等物品。

我知道如何生成规则并根据支持或信心对它们进行排序,但是如果我只想查看涉及某些项目的规则,我应该怎么做?就像我只想要有苹果的规则一样。

像这样:

inspect(rules[keyword='apple'])

你可以用subset来做到这一点。

inspect(subset(rules, subset = items %in% "apple"))

由于您不提供数据,我将使用arules包中提供的数据给出一个完整的示例。

library(arules)
data(Groceries)
rules <- apriori(Groceries, parameter = list(supp = 0.001, conf = 0.8))

现在挑出提到酸奶的规则。太多了,无法显示完整的结果,所以我只显示前三个。

inspect(subset(rules, subset = items %in% "yogurt")[1:3])
lhs                   rhs                    support confidence     lift count
[1] {yogurt,                                                                      
cereals}          => {whole milk}       0.001728521  0.8095238 3.168192    17
[2] {yogurt,                                                                      
rice}             => {other vegetables} 0.001931876  0.8260870 4.269346    19
[3] {other vegetables,                                                            
yogurt,                                                                      
specialty cheese} => {whole milk}       0.001321810  0.8125000 3.179840    13

这些都没有酸奶,所以我也展示了规则 20,以表明它也在那里捕捉酸奶。

inspect(subset(rules, subset = items %in% "yogurt")[20])
lhs                                      rhs      support     confidence
[1] {other vegetables,butter milk,pastry} => {yogurt} 0.001220132 0.8       
lift     count
[1] 5.734694 12  

最新更新