加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

大数据从arules包转换为“transactions”

发布时间:2020-12-14 04:36:55 所属栏目:大数据 来源:网络整理
导读:R中的arules包使用“事务”类.所以为了使用函数apriori()我需要转换我现有的数据.我有一个有2列和大约1.6毫米行的矩阵并尝试转换数据,如下所示: transaction_data - as(split(original_data[,"id"],original_data[,"type"]),"transactions") 其中original_d
R中的arules包使用“事务”类.所以为了使用函数apriori()我需要转换我现有的数据.我有一个有2列和大约1.6毫米行的矩阵并尝试转换数据,如下所示:

transaction_data <- as(split(original_data[,"id"],original_data[,"type"]),"transactions")

其中original_data是我的数据矩阵.由于数据量的原因,我使用了最大的AWS亚马逊机器,内存为64GB.过了一会儿,我明白了

resulting vector exceeds vector length limit in ‘AnswerType’

机器的内存使用率仍然只有60%.这是基于R的限制吗?除了使用采样之外,还有什么方法可以解决这个问题吗?当仅使用1/4的数据时,转换工作正常.

编辑:正如所指出的,其中一个变量是一个因素而不是字符.更改后的转换处理快速正确.

解决方法

我怀疑你的问题是因为其中一个函数使用整数(而不是浮点数)来索引值.无论如何,尺寸不是太大,所以这是令人惊讶的.也许数据还有其他一些问题,例如字符作为因素?

但一般来说,我真的建议使用内存映射文件,通过bigmemory,你也可以通过bigsplit或mwhich进行拆分和处理.如果卸载数据适合您,那么您还可以使用更小的实例大小并保存$$.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读