Skip to main content

用于非负矩阵分解的 Python 模块

项目描述

宁法

构建:通过 构建:通过 GitHub 发布 BSD 许可证

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

该项目由 Marinka Zitnik 于 2011 年作为 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 查看哈希

已上传 source

内置分布

nimfa-1.4.0-py2.py3-none-any.whl (4.7 MB 查看哈希

已上传 py2 py3