跳转到主要内容

Python非负矩阵分解模块

项目描述

Nimfa

build: passing build: passing GitHub release BSD license

Nimfa是一个实现许多非负矩阵分解算法的Python模块。Nimfa在BSD许可下分发。

该项目始于2011年,由Marinka Zitnik作为Google Summer of Code项目启动,自那时起许多志愿者做出了贡献。请参阅AUTHORS文件以获取贡献者完整列表。

它目前由一支志愿者团队维护。

重要链接

依赖关系

Nimfa经过测试,可在Python 2.7和Python 3.4下运行。

构建软件所需的依赖项包括NumPy >= 1.7.0,SciPy >= 0.12.0。

运行示例需要Matplotlib >= 1.1.1。

安装

本包使用setuptools,这是安装Python模块的常用方法。要在您的家目录中安装,请使用以下命令:

python setup.py install --user

在Unix/Linux上为所有用户安装

sudo python setup.py install

有关更详细的安装说明,请参阅网页 http://ai.stanford.edu/~marinka/nimfa

使用

在星形胶质瘤基因表达数据上运行交替最小二乘非负矩阵分解,使用投影梯度方法和随机Vcol初始化算法:

>>> import nimfa
>>> V = nimfa.examples.medulloblastoma.read(normalize=True)
>>> lsnmf = nimfa.Lsnmf(V, seed='random_vcol', rank=50, max_iter=100)
>>> lsnmf_fit = lsnmf()
>>> print('Rss: %5.4f' % lsnmf_fit.fit.rss())
Rss: 0.2668
>>> print('Evar: %5.4f' % lsnmf_fit.fit.evar())
Evar: 0.9997
>>> print('K-L divergence: %5.4f' % lsnmf_fit.distance(metric='kl'))
K-L divergence: 38.8744
>>> print('Sparseness, W: %5.4f, H: %5.4f' % lsnmf_fit.fit.sparseness())
Sparseness, W: 0.7297, H: 0.8796

引用

@article{Zitnik2012,
  title     = {Nimfa: A Python Library for Nonnegative Matrix Factorization},
  author    = {Zitnik, Marinka and Zupan, Blaz},
  journal   = {Journal of Machine Learning Research},
  volume    = {13},
  pages     = {849-853},
  year      = {2012}
}

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

nimfa-1.4.0.tar.gz (5.7 MB 查看散列)

上传时间

构建分布

nimfa-1.4.0-py2.py3-none-any.whl (4.7 MB 查看散列)

上传时间 Python 2 Python 3

支持者: