0

我有这行我想执行:

tdm_english <- DocumentTermMatrix(doc.corpus, list(dictionary = dictionary_english))

doc.corpus 的长度为 191,000,dictionary_english 为 48

我在一个 3/4 大小的语料库上运行同一行,并且在几分钟内顺利运行(可能甚至不到 5 分钟)。

现在该功能使我的 MacBook Pro 崩溃。我运行了两次,两次都不得不在计算一个多小时后强制退出 R&RStudio。

有什么方法可以优化我的通话吗?

4

2 回答 2

2

我绕过了这个问题,TermDocumentMatrix而不是DocumentTermMatrix在大数据集上显然更稳定。

更新:我使它也适用于DocumentTermMatrix. 正如 DWin 所指出的,问题似乎DocumentTermMatrix是内存无法满足。我设法抑制住它的胃口。我在 200k 条记录上对其进行了测试,并在不使整个系统瘫痪的情况下完成了这项工作。

tdm_english <- vapply(doc.corpus, DocumentTermMatrix, FUN.VALUE = numeric(1), list(dictionary = dictionary_english), USE.NAMES = FALSE)
于 2013-09-02T23:30:58.807 回答
0

从您的描述来看,您似乎内存不足。要检查这一点,请打开活动监视器并启动 R 脚本。然后检查 Ac 中的 System Memory 选项卡。监控并查看发生了多少页面输入和页面输出。如果这个数字很大,再加上你的 R 进程的内存使用率很高,这表明你的计算机内存不足,并且正在使用硬盘空间来弥补它。这是非常缓慢的。

解决方案是使用较小的数据集,分块处理数据,找到DocumentTermMatrix限制内存使用的设置,或获得更多 RAM。

于 2013-08-30T05:31:26.763 回答