Постобработка правил из arules

Есть ли способ использовать более одного уровня одной переменной в одном правиле, сгенерированном apriori в пакете arules?

Рассмотрим следующий пример:

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"))

Выход>

  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) могут генерировать правила, в которых используется более одного уровня переменных.


person Tomas Greif    schedule 01.04.2015    source источник


Ответы (1)


arules следует стандартной литературе по анализу правил ассоциации и не объединяет элементы таким образом. Наборы элементов либо содержат элемент, либо нет. Таким образом, вы застряли с двумя правилами, если вы вручную не добавите искусственный элемент V1=aORb.

person Michael Hahsler    schedule 21.08.2015