/NNLM

Nonnegative Linear Models (NNLM) and Nonnegative Matrix Factorization (NMF or NNMF).

Primary LanguageROtherNOASSERTION

NNLM

CRAN_Status_Badge Build Status Coverage Status

This is a package for Nonnegative Linear Models (NNLM). It implements fast sequential coordinate descent algorithms for nonnegative linear regression and nonnegative matrix factorization (NMF or NNMF). It supports mean square error and Kullback-Leibler divergence loss. Many other features are also implemented, including missing value imputation, domain knowledge integration, designable W and H matrices and multiple forms of regularizations.

Install

library(devtools)
install_github('linxihui/NNLM')


# get a release version from CRAN
# NOT LONGER available
# install.packages('NNLM')

Why another NMF package?

A short answer: existent packages are not efficient for relative large matrices and lack many cool and new features.

Features in the package?

  1. Pattern extraction, as you would expect from an NMF package.
  2. Multiple types of regularizations.
  3. Designable matrix factorization to integrate domain/prior knowledge which is useful to many applications in bioinformatics, such as tumour content deconvolution, pathway or subnetwork guided NMF for more biological meaningful decomposition, etc.
  4. Built-in automatic missing value handling, which can then be used for efficient missing value imputation.
  5. Utilize the power of imputation to create a goodness-of-fit criterion which can be used to assess NMF performance and tune the rank k. (Not a built-in function yet and will be in next version shortly, but one can do it easily).
  6. Parallel for one single NMF through openMP.

For more details, one can read the vignette.