![数据挖掘竞赛实战:方法与案例](https://wfqqreader-1252317822.image.myqcloud.com/cover/110/52842110/b_52842110.jpg)
上QQ阅读APP看书,第一时间看更新
2.2.3 内存优化
在数据处理过程中,可能遇到内存不足导致的报错,如内存溢出(out of memory)。在设备内存无法改变的情况下,可以尝试通过内存优化的方式来解决这一问题。
1.内存回收
删除不需要的变量,释放已销毁的对象占据的内存。
del df import gc gc.collect()
2.使用内存占用更小的数据类型
以下代码适用于Pandas的DataFrame,对于每个数值型特征,根据其取值范围,将其转换为能满足要求且内存占用最小的数据类型(原始代码见https://www.kaggle.com/code/gemartin/load-data-reduce-memory-usage/notebook)。
![](https://epubservercos.yuewen.com/6889A6/31397662403378406/epubprivate/OEBPS/Images/Figure-P32_46419.jpg?sign=1739048135-Q2aPLpOV2PdOPRX90GjksNjPAF2jH1ln-0-291e60faf046d6f6c92da77326c74ced)
![](https://epubservercos.yuewen.com/6889A6/31397662403378406/epubprivate/OEBPS/Images/Figure-P33_46422.jpg?sign=1739048135-cXWZIHvdnBqllyXI79HfqkxkkFiOzVib-0-0e8539ee0bdc301437e749d15680d4cd)
需要注意的是,在完成该操作后,如果需要进一步对这些列进行变换,需要确保变换后的数据不能操作该数据类型的表达范围,否则会影响后续的建模。