You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用R的apriori算法生成RHS长度大于1的关联规则

R语言arules包挖掘RHS长度大于1的关联规则的解决方法

问题原因

arules包的apriori()函数默认生成关联规则时,为了降低计算复杂度,仅生成右侧(RHS)仅包含1个项的规则,因此会缺失{Milk} => {Bread, Butter}这类RHS长度大于1的符合阈值的规则。

解决方法

先生成所有满足支持度阈值的频繁项集,再通过规则诱导功能生成所有满足置信度阈值的规则,不会限制RHS的长度,修改后的代码如下:

library('arules')
library('arulesViz')

dataset = list(
  c("Bread", "Butter", "Milk"),
  c("Bread", "Butter"),
  c("Beer", "Cookies", "Diapers"),
  c("Milk", "Diapers", "Bread", "Butter"),
  c("Beer", "Diapers")
)

Groceries = transactions(dataset)

# 挖掘满足最小支持度的所有频繁项集
freq_itemsets <- apriori(Groceries,
                         parameter = list(
                           support = 0.4,
                           target = "frequent itemsets",
                           maxlen = 3
                         ))

# 从频繁项集诱导生成满足最小置信度的规则,无RHS长度限制
rules <- ruleInduction(freq_itemsets,
                       confidence = 0.7)

# 查看所有排序后的规则
inspect(sort(rules, by = "support"))

运行代码后即可得到包含{Milk} => {Bread, Butter}在内的共8条符合阈值的关联规则。

内容的提问来源于stack exchange,提问作者Prashin Jeevaganth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 15:06:03