python - 使用 DataFrameMapping 时如何解决内存错误?
问题描述
嗨,我有以下代码,由于某种原因,我遇到了内存错误 - 代码中有什么东西吗?
from sklearn_pandas import DataFrameMapper
createTrainingAndValidation(finalDf, 'words')
data = finalDf[['between_count','words']]
mapper = DataFrameMapper([
(['between_count'], None),
('words',CountVectorizer(ngram_range=(1, 1)))
])
X=mapper.fit_transform(data)
print (X)
解决方案
内存错误表明您已超出系统的内存容量,例如使用多 GB 数据集。也许 CountVectorizer 可能会爆炸大小?可能需要一台不同的、更强大的机器。或者,您可以通过多处理、更少的复制操作等来提高您的操作的内存效率。
最后,内存不足pandas
是该Dask
项目的目标。看看他们:https ://dask.org/ ,他们可能有一个可以达到你目标的模式。
如果所有这些都失败了,并且您仍然无法将您的工作放入内存中,pyspark
那么可能适合您。这是一个面向分布式数据和机器学习操作的项目。
推荐阅读
- angular - Angular + Service Worker:如何将 `apiUrl` 从`environment.ts` 传递给`sw-sync.js`?
- javascript - 如何从 CSV json 对象中删除一个值?
- java - 使用 web.xml 在 Tomcat 8 上设置自定义过滤器
- python-3.x - 将输入文件修改为所需的输出文件
- javascript - 使用 jquery 倒计时
- vue.js - 我可以访问本地系统环境吗?使用 vue-cli 时的变量?
- ocaml - 如何读取文件并将其写入不同的文件
- javascript - 基础 javascript 没有按预期工作
- shell - 如何在床文件中对具有相同名称的序列进行编号
- c++ - 将大小为编译时常量的数组初始化为单个值