非负矩阵分解的python模块
nimfa的Python项目详细描述
尼姆法
nimfa是一个python模块,它实现了许多非负的算法 矩阵分解。nimfa是根据bsd许可证发行的。
这个项目是由Marinka Zitnik在2011年启动的,当时她是 代码项目,从那时起,许多志愿者都做出了贡献。见 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://nimfa.biolab.si
使用
交替最小二乘非负矩阵因式分解 投影梯度与随机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} }