为了一个个人项目,我需要对不同的文本运行多种机器学习算法来对其进行分类。
我之前使用RapidMiner来做这件事,但后来决定将所有开发工作转移到R上,因为我觉得在R中我能有更多的控制权。
现在我遇到的问题是(在使用RapidMiner时没有注意到),加载模型需要很长时间。
例如:
我有一个模型,用来检查文本是否涉及体育。这个模型大小为37.7 MB
,在我的2.2 GHz i7 Mac,4GB RAM
上加载需要8:34
。
我调用模型的方式如下:
fileNameMatrix = paste(query,query1,"-matrix.Rd", sep ="")fileNameModel= paste(query,query1,"-model.Rd", sep ="")load(fileNameMatrix)load(fileNameModel)
该模型是使用RTextTools
生成的
你看到的那些查询变量是因为我需要调用近20个模型,并将它们与不同的数据集进行比较。虽然8分钟不算多,但当我加载所有模型时,几乎需要3个小时,这使得我的任务几乎毫无意义,因为这是一个几乎需要实时处理的任务。
如果不能减少模型的大小,我应该考虑哪些因素来减少加载时间?
另一件我觉得可疑的事情是,虽然矩阵文件相对较小64KB
,但模型仍然有37.7MB
。模型文件是否可能比必要的大?使用RTextTools时是否有人遇到过类似的情况?
这是我在R中使用模型的首批任务之一,如果我做了一些明显错误的事情,请原谅我。
非常感谢你的时间,任何正确的指导都会非常感激!
回答:
你有在活动监视器中检查过RAM使用情况吗?压缩的RData
文件相对较小,但解压后会非常大。例如,一个所有元素为0
的n x n
矩阵几乎不占用任何空间,这可能解释了你的矩阵文件较小的情况。你的加载模型可能非常大;我有一些RData
文件,大约200 MB
,但在R
中无法加载到内存中。如果你的RAM不足,这可能会成为一个问题,因为你的电脑可能会尝试使用驱动器空间来加载文件。