cdlib.algorithms.symmnmf

symmnmf(g_original: object, dimensions: int = 32, iterations: int = 200, rho: float = 100.0, seed: int = 42) → cdlib.classes.node_clustering.NodeClustering

The procedure decomposed the second power od the normalized adjacency matrix with an ADMM based non-negative matrix factorization based technique. This results in a node embedding and each node is associated with an embedding factor in the created latent space.

Supported Graph Types

Undirected Directed Weighted
Yes No No
Parameters:
  • g_original – a networkx/igraph object
  • dimensions – Number of dimensions. Default is 32.
  • iterations – Number of power iterations. Default is 200.
  • rho – Regularization tuning parameter. Default is 100.0.
  • seed – Random seed value. Default is 42.
Returns:

NodeClustering object

Example:
>>> from cdlib import algorithms
>>> import networkx as nx
>>> G = nx.karate_club_graph()
>>> coms = algorithms.symmnmf(G)
References:

Kuang, Da, Chris Ding, and Haesun Park. “Symmetric nonnegative matrix factorization for graph clustering.” Proceedings of the 2012 SIAM international conference on data mining. Society for Industrial and Applied Mathematics, 2012.

Note

Reference implementation: https://karateclub.readthedocs.io/