Skip to main content

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 the src/dnmf/ directory


Config

The DNMF module supports the following hyperparameters as arguments:

  • alpha: tradeoff parameter for the U-subproblem
  • beta: tradeoff parameter for the F-subproblem
  • gamma: regularization parameter
  • k: desired number of overlapping communities
  • num_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

andrej.janchevski@epfl.ch

EPFL STI IEM LIONS

Lausanne, Switzerland

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dnmf-python-0.0.3.tar.gz (4.6 kB view hashes)

Uploaded Source

Built Distribution

dnmf_python-0.0.3-py3-none-any.whl (5.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page