【发布时间】:2015-11-27 00:44:53
【问题描述】:
我正在运行一个生成 n-gram 的文本机器学习算法。这当然会大大增加输入的大小。为了说明这一点,原始输入是文件中的约 30K 行,在生成三元组之后,我有 348000 个条目。
我正在使用scikit 和它的TfidfVectorizer,如果给出的值太多,我会得到一个MemoryError 由里面的numpy 数组抛出。在达到极限之前,我只能使用约 27500 个三元组。这意味着我最多只能使用 10% 的可用数据。
我可以做些什么来帮助解决这个问题?我有什么选择吗?
【问题讨论】:
-
我相信这确实是一个操作系统问题,因为通过操作系统可以分配一定数量的磁盘空间作为分页或虚拟内存。但它会令人难以置信地减慢速度。最好还是找一台内存更大的机器,或者重新考虑你的方法。
-
有关一些信息,请参阅this question。确保您使用的是 64 位 Python 而不是 32 位。
标签: python numpy machine-learning out-of-memory scikit-learn