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

使用R语言Eclat算法挖掘频繁项集时出现零频繁项问题求助

商品关联挖掘遇到的Eclat算法问题

我最近在做商品购买关联的模式挖掘(类似聚类分析),查资料了解到Eclat算法适用于项集挖掘,能找出诸如“购买牛奶的消费者也会购买面包”这类实用的关联规则,但在R语言中运行该算法时遇到了麻烦:

  • 初始运行后出现zero frequent items的提示,用tidLists(f)获取的结果为NULL
  • 调整参数后,结果又不符合预期,像是在对订单/用户分组而非挖掘商品关联

数据集与代码情况

数据集说明

数据集每行代表一笔交易,不同商品用分号;分隔,数据示例如下:

3060615;;;;;;;;;;;;;;; 3060612;3060616;;;;;;;;;;;;;; 3020703;;;;;;;;;;;;;;; 3002469;;;;;;;;;;;;;;; 3062800;;;;;;;;;;;;;;; 3061943;3061965;;;;;;;;;;;;;;

我使用的R代码

trans = read.transactions("Transactions.csv", format = "basket", sep = ";")
f <- eclat(trans, parameter = list(supp = 0.1, maxlen = 17, tidLists = TRUE))
dim(tidLists(f))
as(tidLists(f), "list")

具体疑问

  1. 是不是我的数据结构有问题?如果是的话该怎么调整?
  2. 怎么才能获取到符合预期的推荐项集?我在维基百科上没找到相关的实现方法。

补充情况

按照建议把支持度supp调整为0.004后,函数运行起来了,但结果不对:tidLists的输出是以交易ID为键,对应的值是该交易包含的商品集合,看起来像是在对订单分组,而不是挖掘商品之间的关联项集,而且我也没法正常导出数据。

内容的提问来源于stack exchange,提问作者M.A

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:09:26