跳转到主要内容

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 (36.6 kB 查看哈希值)

上传时间

由以下支持