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

Posted

技术标签:

【中文标题】R中的关联规则:如何根据项目选择规则?【英文标题】:Association Rule in R: how to select rules based on item? 【发布时间】:2018-06-09 11:43:13 【问题描述】:

我正在使用 r arules 包围绕交易数据集生成规则。在数据集中,我有超过 500 笔与苹果、啤酒等物品相关的交易。

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

类似:

inspect(rules[keyword='apple'])

【问题讨论】:

每笔交易都是一个字符串列表,如['apple','banana','pear'...] 【参考方案1】:

您可以使用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

这些都没有 rhs 上的酸奶,所以我还展示了规则 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  

【讨论】:

以上是关于R中的关联规则:如何根据项目选择规则?的主要内容,如果未能解决你的问题,请参考以下文章

如何从生成的关联规则中选择最合适的规则?

R语言关联规则模型(Apriori算法)挖掘杂货店的交易数据与交互可视化

r语言关联规则为啥只产生了1条规则

来自 spmf 的关联规则中的 R 子集

R中的关联规则没有足够的RAM [关闭]

R:Apriori 算法没有找到任何关联规则