有没有办法在arules包中apriori
生成的单个规则中如何使用多个单个变量?
考虑以下示例:
df <- read.table(header = TRUE, text = '
V1 V2 V3
a d x
a d x
a d y
b d x
b d x
b d y
a e y
a e y
a e x
b e y
b e y
b e x
c d y
')
library(arules)
rules <- apriori(df,
parameter = list(support= 0.001, confidence = 0.5, target = "rules"),
appearance = list(rhs=c("V3=x"), default = 'lhs'))
inspect(sort(rules, decreasing = TRUE, by = "confidence"))
输出&GT;
lhs rhs support confidence lift
1 {V1=a,
V2=d} => {V3=x} 0.1538462 0.6666667 1.444444
2 {V1=b,
V2=d} => {V3=x} 0.1538462 0.6666667 1.444444
3 {V2=d} => {V3=x} 0.3076923 0.5714286 1.238095
4 {V1=a} => {V3=x} 0.2307692 0.5000000 1.083333
5 {V1=b} => {V3=x} 0.2307692 0.5000000 1.083333
在此示例中,如果我获得规则{V1=a,b,V2=d}
会很有帮助。其他一些工具(例如LISp-Miner)可以生成使用多个级别变量的规则。
答案 0 :(得分:1)
arules遵循标准关联规则挖掘文献,并且不以这种方式聚合项目。项目集包含或不包含项目。因此,除非您手动添加人工项V1=aORb
,否则您将遇到两条规则。