7-7 pca.fit(X_train) MemoryError Traceback (most recent call last)

来源:7-7 试手MNIST数据集

慕设计0065995

2018-07-07

bobo老师您好,

    我在学习7-7这节课时,按照github上自己执行pca.fit(X_train)会有MemoryError, 如下图,请问这样问题应该如果排查呢?

    执行环境:WS2016Datacenter,8G, 执行此段代码时内存使用率52%,而且我发现pca=PCA(0.9)和pca=PCA(0.90)还不一样的MemoryError。

    经过测试在新的笔记本上用Win10+Anaconda执行就正常了,难道和Anaconda有关???

//img.mukewang.com/szimg/5b409d8b00015e1b10930769.jpg//img.mukewang.com/szimg/5b40a2900001835510830630.jpg

写回答

1回答

liuyubobobo

2018-07-08

目测不是你的程序的问题,和PCA传0.9还是0.90也没有关系,就是在计算PCA过程使用的空间过大,超过了你的系统limit。估计是一个相当高维的数据?


尝试升级scikit-learn和scikit-learn所有的相关依赖到最新。新版本的scikit-learn可能包含更多优化。


尝试一下构造PCA时 copy 属性传入 False;但是要注意这样的以后PCA的具体使用方法,可以参考文档中对copy属性的解释:http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html


另外,尝试一下设置svd_solver的参数使用randomized,也可能有帮助:)


当然了,对于处理大规模数据,提升硬件配置是王道:)


加油!

0
4
慕设计0065995
回复
liuyubobobo
谢谢bobo老师!又涨知识啦~
2018-07-08
共4条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5893 学习 · 2454 问题

查看课程