Python模块,用于包装SVDLIBC库,这是一个稀疏奇异值分解的库。
项目描述
sparsesvd 是一个Python包装器,围绕Doug Rohde的SVDLIBC库,该库本身基于Michael Berry的SVDPACK。
sparsesvd使用SciPy的稀疏CSC(压缩稀疏列)矩阵格式作为SVD的输入。这是SVDLIBC内部使用的相同格式,因此Python包装器不需要创建额外的数据副本(内存高效)。
有关截断SVD的更可扩展的实现,请参阅gensim包(包含增量、在线SVD算法)。
安装
为了安装sparsesvd,您需要NumPy、SciPy和Cython。
使用以下命令安装sparsesvd及其依赖项
pip install numpy pip install scipy pip install cython pip install sparsesvd
如果出现问题,请参阅https://scipy.org.cn/Download有关在各个平台安装SciPy的说明。
如果您已下载并解压缩源tar.gz包,请运行
python setup.py test sudo python setup.py install
此版本已在Python 2.6和3.2下进行了测试,但应能在2.x和3.x系列的任何后续版本上运行。
文档
《sparsesvd》模块提供了一个名为《sparsesvd》的单个函数,它接受两个参数。一个是采用《scipy.sparse.csc_matrix》格式的稀疏矩阵,另一个是请求的因子数(一个整数)。
>>> import numpy, scipy.sparse >>> from sparsesvd import sparsesvd >>> mat = numpy.random.rand(200, 100) # create a random matrix >>> smat = scipy.sparse.csc_matrix(mat) # convert to sparse CSC format >>> ut, s, vt = sparsesvd(smat, 100) # do SVD, asking for 100 factors >>> assert numpy.allclose(mat, numpy.dot(ut.T, numpy.dot(numpy.diag(s), vt)))
由Lubos Kardos编写的原始包装,由Radim Rehurek更新和维护,由Alejandro Pulver进行Cython和Python 3.x移植。有关稀疏SVD在潜在语义分析中的应用,请参阅《gensim》软件包。
您可以在《simplified BSD许可证》下使用此代码。
项目详情
关闭
sparsesvd-0.2.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3f775ac22a35764dad97c0d83b2cb47caa46fd11d0f6a9eb1883a0e07dd88df8 |
|
MD5 | 9aa2da546bfe7fa72e7565632de530ad |
|
BLAKE2b-256 | 65d9c2545987871e27cad5969799a1d45073321a2904ac4dcb18bc0f1fe16ecc |