首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R aRules:查找封闭关联规则

R aRules:查找封闭关联规则
EN

Stack Overflow用户
提问于 2016-08-16 06:11:41
回答 2查看 1.9K关注 0票数 2

在R中的aRules包中,如何有效地找到封闭的关联规则?即具有封闭LHS项集的规则

项目集是关闭的当且仅当添加任何项目减少了支持。

该包提供了以下挖掘选项:

目标:表示所挖掘的关联类型的字符串。其中之一

  • “频繁项集”
  • “最大频繁项集”
  • “闭频繁项集”
  • “规则”(只适用于Apriori)
  • "hyperedgesets“(只适用于Apriori;参见关联·hyperedgesets定义的参考资料)

似乎没有“封闭规则”的选择。有两个明显的工作-周遭:

  1. 闭项集的挖掘规则及应用过滤器 规则= apriori(data,parameter=list(target=“rules”))规则<- rulesis.closed(generatingItemsets( rules ))

这可能会很慢。对于5k项的交易,aPriori在10s中生成了800万条规则。关闭过滤器用了20分钟,从而产生了~3k的封闭规则。

  1. 挖掘封闭频繁项集并应用关联筛选器(信心、提升等)

还没有实现,但这似乎是一种实现简单得多的方法。

如果有人知道其他实现(其他R包,甚至是R以外的东西)可以做到这一点,指针将是非常有用的。例如:SPMF库似乎支持它,想知道是否有人有使用它的经验。

EN

回答 2

Stack Overflow用户

发布于 2017-02-19 01:48:52

arules包中,支持是项目集的组合LHS和RHS中包含所有项的事务的百分比。换句话说,LHS和RHS项目的合并。

这意味着在您的itemsets/rules调用中使用参数target = 'closed frequent itemsets'将解决您的第一个问题,并且只会基于闭包项集生成封闭的apriori()

同样,要回答您问题的第二部分,在生成规则之前,存在通过置信度和升力进行过滤的参数。这样,在规则生成之后,您将不必过滤出规则,并且您将获得与您正在寻找的结果相同的结果。

此外,过滤关闭的项目集,信心,提升等在您的apriori()调用将加快采矿过程。

票数 1
EN

Stack Overflow用户

发布于 2017-01-08 22:59:56

函数ruleInduction()可以用来创建Pei等人定义的封闭规则。(2000)作为规则X -> Y,其中XY都是封闭的频繁项集。以下摘自手册页(略有增强):

代码语言:javascript
复制
data("Adult")
## find all closed frequent itemsets
closed <- apriori(Adult, 
   parameter = list(target = "closed", support = 0.4))

## use rule induction to produce all closed association rules
closed_rules <- ruleInduction(closed, Adult)

## X&Y are already closed, check that X is also closed
closed_rules[is.element(lhs(closed_rules), items(closed))]

## inspect the resulting closed rules
summary(closed_rules)
inspect(head(closed_rules, by = "lift"))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38967723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档