封装svdlibc的python模块,svdlibc是一个用于稀疏奇异值分解的库。

sparsesvd的Python项目详细描述


sparsesvd是围绕SVDLIBC Doug Rohde的图书馆,它本身基于MichaelBerry的SVDPACK

sparse svd使用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

如果出现问题,请参阅http://www.scipy.org/Download以获取有关安装的说明 在不同的平台上。

如果您已经下载并解压缩了source tar.gz包,请运行:

python setup.py test
sudo python setup.py install

这个版本已经在Python2.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、Cython和Python 3.x Port由Alejandro Pulver更新和维护的包。有关稀疏svd在潜在语义分析中的应用,请参见gensim包。

您可以在simplified BSD license下使用此代码。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
数据库java操作符是如何工作的?   带有JSON迭代器的java类型安全警告   java@NotNull类型注释Solrj   JDBC无法将19y旧Java连接到新的SQL Server。它在旧服务器上运行良好   java两个线程获得相同的值   java阶乘方法工作不好!   java Android体系结构决策   java如何使用JSON中的@RequestBody绑定自定义对象的映射   java Android ActionBarSherlock定制topbar?   java自定义DozerConverter仅在SpringBoot测试中调用   java为什么Hibernate试图映射@Transient方法?   MongoDB Java自己的编解码器不工作   java无法从MySQL中的存储引擎读取自动增量值   java使用SwingFXUtils将BuffereImage(awt)转换为Image(JavaFx)   java Camel hdfs2到文件协议文件传输   java什么是GZIP JSFSeam web应用程序页面的最佳方法