danmf(g_original: object, layers: tuple = (32, 8), pre_iterations: int = 100, iterations: int = 100, seed: int = 42, lamb: float = 0.01) → cdlib.classes.node_clustering.NodeClustering¶
The procedure uses telescopic non-negative matrix factorization in order to learn a cluster memmbership distribution over nodes. The method can be used in an overlapping and non-overlapping way.
Supported Graph Types
Undirected Directed Weighted Yes No Yes Parameters:
- g_original – a networkx/igraph object
- layers – Autoencoder layer sizes in a list of integers. Default [32, 8].
- pre_iterations – Number of pre-training epochs. Default 100.
- iterations – Number of training epochs. Default 100.
- seed – Random seed for weight initializations. Default 42.
- lamb – Regularization parameter. Default 0.01.
>>> from cdlib import algorithms >>> import networkx as nx >>> G = nx.karate_club_graph() >>> coms = algorithms.danmf(G)
Ye, Fanghua, Chuan Chen, and Zibin Zheng. “Deep autoencoder-like nonnegative matrix factorization for community detection.” Proceedings of the 27th ACM International Conference on Information and Knowledge Management. 2018.
Reference implementation: https://karateclub.readthedocs.io/