首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将大数据集拆分成块,并执行fit_transform / fit_resample和联合结果?

如何将大数据集拆分成块,并执行fit_transform / fit_resample和联合结果?
EN

Stack Overflow用户
提问于 2020-12-27 20:16:38
回答 1查看 193关注 0票数 0

我正在处理高度不平衡的大型数据集。我在试着学习

代码语言:javascript
复制
smote_nc = SMOTENC(categorical_features=[df.dtypes=='category'], random_state=0)
X, y = smote_nc.fit_resample(X,y)    

但是掉进了MemoryError

代码语言:javascript
复制
MemoryError: Unable to allocate 15.2 GiB for an array with shape (190824, 10724) and data type float64

有没有办法将此操作分块并将平衡结果保存到dataframe?

数据集示例如下所示

EN

回答 1

Stack Overflow用户

发布于 2020-12-27 20:43:00

Smote是一种过采样方法。它会生成新的额外训练样本,帮助您克服原始数据集的不平衡。这个方法创建了一个内存无法容纳的非常大的数据集。可以尝试的一件事是指定sampling strategy关键字。例如,对于二进制分类,您可以将比率设置为0.3。输出数据集应该更小,因此可以放入内存。

请注意,我没有对其进行测试。这只是一个建议。如果这不是一个选择,您可以随意粘贴一些样本数据,以便我们可以进行查看。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65465624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档