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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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

Hashes for dnmf-python-0.0.3.tar.gz
Algorithm Hash digest
SHA256 0c596b3af29e99ba3942cfd6899c057440e7a13bc515d0788a639b2960ea62c7
MD5 0b9a2813b622cc174925c38cf6b5abdc
BLAKE2b-256 a7138785e8aa63bf4978bc61abc4406a1ac7f3ab780714d540f139476e44a67e

See more details on using hashes here.

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

Hashes for dnmf_python-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 51f79d44bc73eb6946ac9412a2b0d8be27e224a51e23fc8006e3a2d64d891fb2
MD5 a6eafcc80eb03e00c1e5946c6d1133ef
BLAKE2b-256 9a2c48f5aaf892f384cd60eddef884fce1e6976bdfbfc6edff23b3ec14b9496a

See more details on using hashes here.

Supported by

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