![数据挖掘竞赛实战:方法与案例](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=1739045986-7Vkwc5VwF4QDBGyuEVHonGM0nPnam5Ue-0-d83ea93797374a98d5e697e7de5ad4fc)
![](https://epubservercos.yuewen.com/6889A6/31397662403378406/epubprivate/OEBPS/Images/Figure-P33_46422.jpg?sign=1739045986-PVvAzpzJqLn9IwiZOmbJja76P1YlifgJ-0-b1f11864facc0e7b59e40763c560630e)
需要注意的是,在完成该操作后,如果需要进一步对这些列进行变换,需要确保变换后的数据不能操作该数据类型的表达范围,否则会影响后续的建模。