使用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")
具体疑问
- 是不是我的数据结构有问题?如果是的话该怎么调整?
- 怎么才能获取到符合预期的推荐项集?我在维基百科上没找到相关的实现方法。
补充情况
按照建议把支持度supp调整为0.004后,函数运行起来了,但结果不对:tidLists的输出是以交易ID为键,对应的值是该交易包含的商品集合,看起来像是在对订单分组,而不是挖掘商品之间的关联项集,而且我也没法正常导出数据。
内容的提问来源于stack exchange,提问作者M.A
相关产品推荐
相关产品推荐

