R中的关联规则:如何select规则基于项目?
Association Rule in R: how to select rules based on item?
我正在使用 r arules 包来生成围绕交易数据集的规则。在数据集中,我有超过 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
None 其中的 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 arules 包来生成围绕交易数据集的规则。在数据集中,我有超过 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
None 其中的 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