dnmf-python
Unofficial Python implementation of the Discrete Non-negative Matrix Factorization (DNMF) overlapping community detection algorithm
Paper
Ye, Fanghua, Chuan Chen, Zibin Zheng, Rong-Hua Li, and Jeffrey Xu Yu. 2019. “Discrete Overlapping Community Detection with Pseudo Supervision.” In 2019 IEEE International Conference on Data Mining (ICDM), 708–17. https://doi.org/10.1109/ICDM.2019.00081.
Official implementation in MATLAB at https://github.com/smartyfh/DNMF.
Requirements
python>=3.7.1torch>=1.9.1
Quick start
-
To install the package run one of the two commands:
python -m pip install dnmf-python(installation from PyPI)python setup.py install(compile from source, if cloned the repository)
-
To run the algorithm, load the graph adjacency matrix into a
torch.FloatTensor(for ex.A), then call:from dnmf.DNMF import DNMF dnmf = DNMF() F = dnmf(A) -
To run a quick test of the algorithm with an example graph, run
python test.pyfrom inside thesrc/dnmf/directory
Config
The DNMF module supports the following hyperparameters as arguments:
alpha: tradeoff parameter for the U-subproblembeta: tradeoff parameter for the F-subproblemgamma: regularization parameterk: desired number of overlapping communitiesnum_outer_iter: number of iterations for the outer loop (SDP iterations)num_inner_iter: number of iterations for the inner loops (U and F subproblems)
How to cite
If you used dnmf-python for work on your paper please use the following BibTeX entry to cite this software:
@misc{janchevski_dnmf_2021,
title = "dnmf-python",
author = "{Janchevski, Andrej}",
howpublished = "\url{https://github.com/Bani57/dnmf-python}",
year = 2021,
note = "Unofficial Python implementation of the Discrete Non-negative Matrix Factorization (DNMF) overlapping community detection algorithm"
}
Author
Andrej Janchevski
EPFL STI IEM LIONS
Lausanne, Switzerland
Metadata
Release files for dnmf-python 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| dnmf-python-0.0.3.tar.gz | 4.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dnmf_python-0.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.7 kB
Release files / dnmf-python-0.0.3.tar.gz
| Download URL | dnmf-python-0.0.3.tar.gz |
|---|---|
| Size | 4.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0c596b3af29e99ba3942cfd6899c057440e7a13bc515d0788a639b2960ea62c7
|
|
BLAKE2b-256 checksum How to use checksums |
a7138785e8aa63bf4978bc61abc4406a1ac7f3ab780714d540f139476e44a67e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.8.1 pkginfo/1.8.1 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.1
|
Release files / dnmf_python-0.0.3-py3-none-any.whl
| Download URL | dnmf_python-0.0.3-py3-none-any.whl |
|---|---|
| Size | 5.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
51f79d44bc73eb6946ac9412a2b0d8be27e224a51e23fc8006e3a2d64d891fb2
|
|
BLAKE2b-256 checksum How to use checksums |
9a2c48f5aaf892f384cd60eddef884fce1e6976bdfbfc6edff23b3ec14b9496a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.8.1 pkginfo/1.8.1 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.1
|
Security for dnmf-python 0.0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.