Ограничить априорный вывод правила из матрицы двоичных транзакций для элементов, которым присвоено значение 1 - PullRequest
0 голосов
/ 09 сентября 2018

Я пытаюсь установить поднабор так, чтобы все элементы в правой и правой части были установлены на 1, но это не работает. Есть ли какой-то другой способ убедиться, что мои пункты в правилах LHS и RHS имеют только «1»? Я использовал следующий код.

rules = apriori(cosdat1, parameter=list(support=0.28, confidence=0.3, minlen=2, target="rules"))
summary(rules)

    rules.sub <- subset(rules, subset = lhs %in% c("Bag=1","Blush=1","Nail.Polish=1","Brushes=1","Concealer=1","Eyebrow.Pencils=1","Bronzer=1","Lip.liner=1","Mascara=1","Eye.shadow=1","Foundation=1","Lip.Gloss=1","Lipstick=1","Eyeliner=1"));
    rules.sub

    rules.sub1 <- subset(rules, subset = rhs %in% c("Bag=1","Blush=1","Nail.Polish=1","Brushes=1","Concealer=1","Eyebrow.Pencils=1","Bronzer=1","Lip.liner=1","Mascara=1","Eye.shadow=1","Foundation=1","Lip.Gloss=1","Lipstick=1","Eyeliner=1"));
    rules.sub1

1 Ответ

0 голосов
/ 09 сентября 2018

Так как вы не предоставили свои данные, это немного сложно подтвердить, но я считаю, что вы были почти там. Ваш первый оператор подмножества дает правила с lhs, содержащими только =1 (без ограничений по rhs). Ваш второй оператор подмножества дает правила с правыми значениями, содержащими только =1 (без ограничений для lhs). Чтобы ограничение применялось к обеим сторонам, примените второе утверждение к результату первого.

rules.sub1 <- subset(rules.sub, subset = rhs %in% c("Bag=1","Blush=1",
      "Nail.Polish=1","Brushes=1","Concealer=1","Eyebrow.Pencils=1","Bronzer=1",
      "Lip.liner=1","Mascara=1","Eye.shadow=1","Foundation=1",
      "Lip.Gloss=1","Lipstick=1","Eyeliner=1"));
...