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
Hashes for dnmf_python-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1a888b3023883b03482ec55d5c134b7cd494ceb96d4b4b155f4b93a547b2176 |
|
MD5 | 616e79eff34c24ff7ee179c9bc2e071f |
|
BLAKE2b-256 | d4d848d621cab309a238c4f4af751723764f9834a36f698047aa2a76e1b71619 |