{"id":32200565,"url":"https://github.com/michalovadek/nmfbin","last_synced_at":"2025-10-22T03:52:16.484Z","repository":{"id":188914384,"uuid":"679669385","full_name":"michalovadek/nmfbin","owner":"michalovadek","description":"Non-Negative Matrix Factorization for Binary Data","archived":false,"fork":false,"pushed_at":"2025-10-09T10:44:51.000Z","size":5105,"stargazers_count":2,"open_issues_count":6,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-22T03:51:57.123Z","etag":null,"topics":["binary-data","multiplicative-updates","non-negative-matrix-factorization"],"latest_commit_sha":null,"homepage":"https://michalovadek.github.io/nmfbin/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michalovadek.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-08-17T11:00:28.000Z","updated_at":"2025-10-09T10:40:30.000Z","dependencies_parsed_at":"2024-01-27T00:30:45.428Z","dependency_job_id":"71635f50-23b4-45c7-a99d-df70a05e4463","html_url":"https://github.com/michalovadek/nmfbin","commit_stats":null,"previous_names":["michalovadek/nmfbin"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/michalovadek/nmfbin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michalovadek%2Fnmfbin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michalovadek%2Fnmfbin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michalovadek%2Fnmfbin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michalovadek%2Fnmfbin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michalovadek","download_url":"https://codeload.github.com/michalovadek/nmfbin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michalovadek%2Fnmfbin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280376534,"owners_count":26320276,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-22T02:00:06.515Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["binary-data","multiplicative-updates","non-negative-matrix-factorization"],"created_at":"2025-10-22T03:52:15.555Z","updated_at":"2025-10-22T03:52:16.480Z","avatar_url":"https://github.com/michalovadek.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# nmfbin: Non-Negative Matrix Factorization for Binary Data\n\n\u003c!-- badges: start --\u003e\n[![CRAN status](https://www.r-pkg.org/badges/version/nmfbin)](https://CRAN.R-project.org/package=nmfbin)\n[![R-CMD-check](https://github.com/michalovadek/nmfbin/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/michalovadek/nmfbin/actions/workflows/R-CMD-check.yaml)\n\u003c!-- badges: end --\u003e\n\nThe `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.\n\nNMF 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:\n\n$$X \\approx W \\times H$$\n\nIn 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.\n\nUnlike 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](https://michalovadek.github.io/nmfbin/).\n\n## Installation\n\nYou can install the development version of `nmfbin` from [GitHub](https://github.com/michalovadek/nmfbin) with:\n\n``` r\n# install.packages(\"remotes\")\nremotes::install_github(\"michalovadek/nmfbin\")\n```\n\n## Usage\n\nThe input matrix can only contain 0s and 1s.\n\n``` r\n# load\nlibrary(nmfbin)\n\n# Create a binary matrix for demonstration\nX \u003c- matrix(sample(c(0, 1), 100, replace = TRUE), ncol = 10)\n\n# Perform Logistic NMF\nresults \u003c- nmfbin(X, k = 3, optimizer = \"mur\", init = \"nndsvd\", max_iter = 1000)\n```\n\n## Citation\n\n```\n@Manual{,\n  title = {nmfbin: Non-Negative Matrix Factorization for Binary Data},\n  author = {Michal Ovadek},\n  year = {2023},\n  note = {R package version 0.2.1},\n  url = {https://michalovadek.github.io/nmfbin/},\n}\n```\n\n## Contributions\n\nContributions to the `nmfbin` package are more than welcome. Please submit pull requests or open an issue for discussion.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichalovadek%2Fnmfbin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichalovadek%2Fnmfbin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichalovadek%2Fnmfbin/lists"}