为什么在R中加载模型需要那么多时间?

为了一个个人项目,我需要对不同的文本运行多种机器学习算法来对其进行分类。

我之前使用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文件相对较小,但解压后会非常大。例如,一个所有元素为0n x n矩阵几乎不占用任何空间,这可能解释了你的矩阵文件较小的情况。你的加载模型可能非常大;我有一些RData文件,大约200 MB,但在R中无法加载到内存中。如果你的RAM不足,这可能会成为一个问题,因为你的电脑可能会尝试使用驱动器空间来加载文件。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注