虽然Schedule.where("TIMESTAMPDIFF(time_end, time_start) > 240")
可用于提取前n个规则,但某些RHS项目可能会多次出现。我想找到前n个独特的RHS项目以及每个此类项目的最高规则。
我编写的代码可以完成此操作,但运行速度非常慢,可能是因为使用了“子集”#39;功能,这是非常低效的。我的代码迭代RHS的唯一项,找到与之相关的规则子集,并返回项的单个顶部规则。这是一种有效或有效的方法吗?还有更好的方法吗?
head()
答案 0 :(得分:2)
这个怎么样?
rules <- sort(rules, by=c("confidence", "lift", "support"))
rules[!duplicated(rhs(rules))]
它返回每个rhs顶部(排序后的第一个)规则。