2015-03-19 4 views
0

У меня есть вопрос о правилах, полученных с использованием априорно в R.R правила горнодобывающей обрезки - априорные

После ввода данных, преобразования и так далее, я ввел команду

< правила - априорные (приказы , параметр = список (supp = 0,01, conf = 0,5, maxlen = 2))

и я получаю свои правила. Например:

lhs  rhs  support confidence  lift 
1 {16058} => {16059} 0.01218522 0.9375000 67.886029 
2 {16059} => {16058} 0.01218522 0.8823529 67.886029 
3 {10049} => {10021} 0.01462226 0.7826087 34.406832 
4 {10021} => {10049} 0.01462226 0.6428571 34.406832 

Мой ответ: есть ли способ обрезать правила, которые мне не интересны? В этом случае я бы хотел увидеть только первое и третье правило, чтобы избежать «кругового» правила, которое соединяет два элемента с двумя правилами.

Спасибо!

ответ

0

Благодаря rdatamining - rdatamining Titanic example Я нашел это решение той PRUNE избыточных правил:

rules.sorted <- sort(rules, by="lift") 
subset.matrix <- is.subset(rules.sorted, rules.sorted) 
subset.matrix[lower.tri(subset.matrix, diag=T)] <- NA 
redundant <- colSums(subset.matrix, na.rm=T) >= 1 
which(redundant) 
rules.pruned <- rules.sorted[!redundant] 
inspect(rules.pruned) 
plot(rules.pruned, method="graph", control=list(type="items")) 
+0

Это работает для небольших наборов правил. Для больших наборов операция 'is.subset' может занять слишком много памяти (в моем случае она разбилась на rstudio). – Anand

0

Я знаю, что это старый пост, но я нашел его, когда я начал смотреть на тот же вопрос. Чтобы указать людям на более полный ресурс, чем ваша ссылка, в CRAN Intro to arules объясняется, как использовать обычные возможности подмножества в R, чтобы обрезать нежелательные правила (в середине страницы 26): «Как типично для разработки правил объединения, количество найденных правил Для анализа этих правил , например, подмножество() может использоваться для создания отдельных подмножеств правил для каждого элемента », а затем далее объясняет и дает примеры.

Смежные вопросы