假设我有一个(可能)很大的语料库,大约有2.5M个语料库和500个特征(在使用gensim对原始数据运行LSI之后)。我需要语料库来使用scikit-learn训练我的分类器。语料库创建和分类器训练器在两个不同的脚本中完成。所以问题是,我的集合大小预计会增长,在这个阶段我已经没有足够的内存(机器上的32 my )来一次性转换所有(使用gensim.matutils.corpus2dense)。但这可能意味着我需要一次将所有内容加载到内存中</e
我有一个非常大的稀疏Numpy矩阵(类型为numpy.ndarray)。矩阵太大了,很可能必须存储在虚拟内存中。如何有效地将其转换为稀疏的枕木矩阵(来自scipy.sparse)(用于算术操作)?下面是dok_matrix的直接转换,这可能是由于内存问题而失败的。将dok_matrix更改为csr_matrix会导致相同的内存问题。import numpy as np
In [4]: mat=np.zeros((N
然而,我仍然需要了解ScyPy的稀疏矩阵是如何算术工作的,以便在我必须处理的应用程序中从稠密的NumPy矩阵切换到SciPy稀疏矩阵。问题是内存的使用。一个大的致密矩阵将消耗大量的内存。所讨论的公式部分是将矩阵添加到标量中的位置。其中V是一个方阵(它很大,比如60,000 x 60,000)并且是稀疏填充的。X是浮子。使用N