Code Monkey home page Code Monkey logo

nmmflex's Introduction

Python package

NMMFlex: A Comprehensive Non-negative Multiple Matrix Factorization (NMMF) Solution


Logo

Overview

Welcome to NMMFlex, a repository designed to house a robust implementation of the Non-negative Multiple Matrix Factorization (NMMF) algorithm. The original version, proposed by Takeuchi et al. in 2013, has been meticulously refined and enhanced to augment its potential.

The NMMF algorithm excels at factoring a specified matrix into two non-negative matrices, enabling efficient matrix approximation within non-negativity constraints. With applicability in diverse areas such as image processing, recommendation systems, and text mining, NMMF continues to prove its relevance and value.


Logo

Within this repository, we present two versions of the NMMF algorithm for your convenience:

  • NMMFlexPy: A Python native version of the NMMF algorithm. It provides a flexible and efficient implementation for performing matrix factorization with non-negativity constraints. The code is written in Python and can be easily integrated into your projects.

Logo
  • NMMFlexR: An R wrapper for the NMMF algorithm. This version allows R users to utilize the NMMF algorithm within their R environment. The wrapper provides a convenient interface to access the functionality of the NMMFlexPy implementation.

Logo

Both versions of the algorithm aim to factorize a given matrix into two non-negative matrices that approximate the original matrix. The NMMF algorithm has proven effective in various applications such as deconvolution of Omic Data (DecoFlex), image processing, recommendation systems, and text mining.

Installation and Guidance

For each version, you'll find a dedicated subdirectory that offers comprehensive instructions and practical usage examples:

  • NMMFlexPy: For the Python implementation.
  • NMMFlexR: For the R wrapper. (Currently under development)

Please navigate to the specific README files in these subdirectories for step-by-step installation guidelines and detailed usage instructions.

Citing our Work

If this NMMF implementation proves valuable for your research or projects, we kindly ask you to cite the original work in your publications and also our publication, as per the following:

  • Cardona, C., & Schweikert, G. et al (2023). DecoFlex: a flexible joined cell-type decomposition with multiomic epigenetic data. (Manuscript in the process of review for submission and forthcoming publication).
  • Takeuchi, M., Igarashi, Y., & Tanaka, T. (2013). Non-Negative Multiple Matrix Factorization. Proceedings of the Twenty-Third International Joint Conference on Artificial Intelligence. 2013

Contributing

We warmly welcome contributions to the development of our NMMF algorithm implementation. If you discover any issues, have recommendations for enhancements, or wish to contribute new features, please feel free to open an issue or submit a pull request.

Licensing

This project falls under the GNU General Public License (GPL). The full license text can be found within the LICENSE file.

Reach Out

Should you have any inquiries or require further assistance, we encourage you to get in touch:

We truly appreciate your interest in our NMMF algorithm implementation and eagerly look forward to your feedback.

Happy multiple matrix factorizing!

nmmflex's People

Contributors

crhisto avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.