如何选择先验功能的先决条件?

时间:2019-02-27 22:17:12

标签: r arules

如何设置先验功能的前提?我想使用先验规则为任何给定的前提推荐产品。

1 个答案:

答案 0 :(得分:1)

您可以生成忽略该先决条件的规则,然后使用subset函数选择与您要查找的规则匹配的规则。

## First generate rules
library(arules)
data(Groceries)
rules <- apriori(Groceries, parameter = list(supp = 0.001, conf = 0.8))
length(rules)
[1] 410

我不确定您是要确切指定该前提还是只包含某些项目,但是您可以选择其中的任何一个。假设客户买了酸奶和米饭。他们还买了什么?

## antecedent contains the items
## irrelevant part of output removed
inspect(subset(rules, subset = lhs %ain% c("yogurt", "rice")))
    lhs                                               rhs                
[1] {yogurt,rice}                                  => {other vegetables} 
[2] {root vegetables,yogurt,rice}                  => {other vegetables} 
[3] {root vegetables,yogurt,rice}                  => {whole milk}       
[4] {whole milk,yogurt,rice}                       => {other vegetables} 
[5] {root vegetables,other vegetables,yogurt,rice} => {whole milk}       
[6] {root vegetables,whole milk,yogurt,rice}       => {other vegetables} 
[7] {other vegetables,whole milk,yogurt,rice}      => {root vegetables} 

## antecedent is completely specified
## irrelevant part of output removed
inspect(subset(rules, subset = lhs %oin% c("yogurt", "rice")))
[1] {yogurt,rice} => {other vegetables} 

对于子集,您可以限制lhs(先行),rhs(后继)或完整项目集中的内容。您可以在subset的帮助页面上获取更多详细信息。