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
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 | |
|---|---|---|---|
| dnmf-python-0.0.3.tar.gz | 4.6 kB | 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
|