У меня есть набор правил из априорного алгоритма. Сортировать их по лифту, уверенности или поддержке несложно:
rules.sorted = sort(rules, by="lift")
Но предположим, что у меня есть небольшой набор правил с несколькими разными элементами rhs. Я хотел бы просмотреть правила, отсортированные по этим элементам rhs (в алфавитном порядке). Есть ли способ сделать это?
Т.е. из этого:
lhs rhs support confidence lift
1 {A} => {B} 0.3919252 0.9431280 1.930940
2 {B} => {A} 0.3919252 0.8024194 1.930940
3 {E,C} => {A} 0.3535204 0.7995546 1.924047
4 {F,I} => {F} 0.3924175 0.9005650 1.868281
5 {H} => {G} 0.4194978 0.9659864 1.864941
6 {C,D} => {A} 0.3653373 0.7141482 1.718525
К этому:
lhs rhs support confidence lift
2 {B} => {A} 0.3919252 0.8024194 1.930940
3 {E,C} => {A} 0.3535204 0.7995546 1.924047
6 {C,D} => {A} 0.3653373 0.7141482 1.718525
1 {A} => {B} 0.3919252 0.9431280 1.930940
4 {F,I} => {F} 0.3924175 0.9005650 1.868281
5 {H} => {G} 0.4194978 0.9659864 1.864941
Вот пример правил, с которыми я работаю:
library(arules)
download.file("http://archive.ics.uci.edu/ml/machine-learning-databases/mushroom/agaricus-lepiota.data", "mush.data");
dataset = read.table("mush.data", header = F, sep=",", na.strings= "*")
tr <- as(dataset, "transactions")
param = new("APparameter", "confidence" = 0.9, "support" = 0.7, "minlen"= 2L, "maxlen" = 2L, "target" = "rules")
rules <-apriori(tr,param)
dput(rules)
Error in '[.data.frame'(q, , pmatch(by, colnames(q)), drop = FALSE) : undefined columns selected
- person Ewa Janikowska   schedule 17.11.2016?sort
из arules, метод работает только сmeasures stored in the association's slot quality
, вы можете захотеть вместо этого подмножество своих правил, если заинтересованы в определенных элементах. - person mtoto   schedule 17.11.2016dput
. @mtoto Я знаю, что могу подмножество с заданными правами, но мне пришлось бы делать это отдельно для каждого элемента. Я ищу более простой способ - person Ewa Janikowska   schedule 17.11.2016tr <- as(dataset, "transactions")
- person Ewa Janikowska   schedule 17.11.2016dataset = read.table("mush.data", header = F, sep=",", na.strings= "*")
- person Ewa Janikowska   schedule 17.11.2016