nmfbin

Non-Negative Matrix Factorization for Binary Data

https://github.com/michalovadek/nmfbin

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.7%) to scientific vocabulary

Keywords

binary-data multiplicative-updates non-negative-matrix-factorization
Last synced: 6 months ago · JSON representation

Repository

Non-Negative Matrix Factorization for Binary Data

Basic Info
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 1
  • Open Issues: 6
  • Releases: 0
Topics
binary-data multiplicative-updates non-negative-matrix-factorization
Created over 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog License

README.md

nmfbin: Non-Negative Matrix Factorization for Binary Data

CRAN status R-CMD-check <!-- badges: end -->

The nmfbin R package provides a simple Non-Negative Matrix Factorization (NMF) implementation tailored for binary data matrices. It offers a choice of initialization methods, loss functions and updating algorithms.

NMF is typically used for reducing high-dimensional matrices into lower (k-) rank ones where k is chosen by the user. Given a non-negative matrix X of size $m \times n$, NMF looks for two non-negative matrices W ($m \times k$) and H ($k \times n$), such that:

$$X \approx W \times H$$

In topic modelling, if X is a word-document matrix then W can be interpreted as the word-topic matrix and H as the topic-document matrix.

Unlike most other NMF packages, nmfbin is focused on binary (Boolean) data, while keeping the number of dependencies to a minimum. For more information see the website.

Installation

You can install the development version of nmfbin from GitHub with:

``` r

install.packages("remotes")

remotes::install_github("michalovadek/nmfbin") ```

Usage

The input matrix can only contain 0s and 1s.

``` r

load

library(nmfbin)

Create a binary matrix for demonstration

X <- matrix(sample(c(0, 1), 100, replace = TRUE), ncol = 10)

Perform Logistic NMF

results <- nmfbin(X, k = 3, optimizer = "mur", init = "nndsvd", max_iter = 1000) ```

Citation

@Manual{, title = {nmfbin: Non-Negative Matrix Factorization for Binary Data}, author = {Michal Ovadek}, year = {2023}, note = {R package version 0.2.1}, url = {https://michalovadek.github.io/nmfbin/}, }

Contributions

Contributions to the nmfbin package are more than welcome. Please submit pull requests or open an issue for discussion.

Owner

  • Name: Michal Ovádek
  • Login: michalovadek
  • Kind: user
  • Location: London
  • Company: University College London

Lecturer at University College London

GitHub Events

Total
  • Push event: 2
Last Year
  • Push event: 2

Packages

  • Total packages: 1
  • Total downloads:
    • cran 160 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 1
  • Total maintainers: 1
cran.r-project.org: nmfbin

Non-Negative Matrix Factorization for Binary Data

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 160 Last month
Rankings
Forks count: 27.8%
Dependent packages count: 28.6%
Stargazers count: 34.5%
Dependent repos count: 36.8%
Average: 42.3%
Downloads: 83.7%
Maintainers (1)
Last synced: 6 months ago

Dependencies

.github/workflows/R-CMD-check.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/pkgdown.yaml actions
  • JamesIves/github-pages-deploy-action v4.4.1 composite
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
DESCRIPTION cran
  • knitr * suggests
  • rmarkdown * suggests
  • testthat >= 3.0.0 suggests