Unofficial Python implementation of the DNMF overlapping community detection algorithm
Project description
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.1
torch>=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.py
from 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file dnmf-python-0.0.3.tar.gz
.
File metadata
- Download URL: dnmf-python-0.0.3.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
0c596b3af29e99ba3942cfd6899c057440e7a13bc515d0788a639b2960ea62c7
|
|
MD5 |
0b9a2813b622cc174925c38cf6b5abdc
|
|
BLAKE2b-256 |
a7138785e8aa63bf4978bc61abc4406a1ac7f3ab780714d540f139476e44a67e
|
File details
Details for the file dnmf_python-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: dnmf_python-0.0.3-py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 3
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
51f79d44bc73eb6946ac9412a2b0d8be27e224a51e23fc8006e3a2d64d891fb2
|
|
MD5 |
a6eafcc80eb03e00c1e5946c6d1133ef
|
|
BLAKE2b-256 |
9a2c48f5aaf892f384cd60eddef884fce1e6976bdfbfc6edff23b3ec14b9496a
|