[英]SVD using Scikit-Learn and Gensim with 6 million features
我试图根据他们的情绪对段落进行分类。 我有60万份文件的培训数据。 当我将它们转换为Tf-Idf
向量空间时,单词作为分析器,ngram范围为1-2,有近600万个特征。 所以我必须做奇异值分解(SVD)来减少特征。
我尝试过gensim和sklearn的SVD功能。 两者都可以正常工作,直到100减少功能,但是当我尝试200个功能时,它们会引发内存错误。
另外我还没有使用整个文档(60万)作为训练数据,我只采用了50000个文档。 基本上我的训练矩阵是:50000 * 600万,并希望将其减少到50000 *(100到500)
有没有其他方法可以在python中实现它,或者我是否必须实现sparks mllib SVD(仅针对java和scala编写)? 如果是的话,会有多快?
系统规格:ubuntu 14.04上带有4个核心处理器的32 Gb RAM
我真的不明白为什么使用spark mllib SVD可以提高性能或避免内存错误。 您只需超过RAM的大小。 你有一些选择来处理:
你也应该展示你的代码示例,你可能在你的python代码中做错了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.