class_docstr: An implementation of `"M-NMF" <https://aaai.org/ocs/index.php/AAAI/AAAI17/paper/view/14589/13763>`_
  from the AAAI '17 paper "Community Preserving Network Embedding".
  The procedure uses joint non-negative matrix factorization with modularity
  based regularization in order to learn a cluster membership distribution
  over nodes. The method can be used in an overlapping and non-overlapping way.
  
  Args:
      dimensions (int): Number of dimensions. Default is 128.
      clusters (int): Number of clusters. Default is 10.
      lambd (float): KKT penalty. Default is 0.2
      alpha (float): Clustering penalty. Default is 0.05.
      beta (float): Modularity regularization penalty. Default is 0.05.
      iterations (int): Number of power iterations. Default is 200.
      lower_control (float): Floating point overflow control. Default is 10**-15.
      eta (float): Similarity mixing parameter. Default is 5.0.
      seed (int): Random seed value. Default is 42.
class_docstr_tok: ["An","implementation","of","`","``","M-NMF","''","<","https",":","\/\/aaai.org\/ocs\/index.php\/AAAI\/AAAI17\/paper\/view\/14589\/13763",">","`","_","from","the","AAAI","'17","paper","``","Community","Preserving","Network","Embedding","''",".","The","procedure","uses","joint","non-negative","matrix","factorization","with","modularity","based","regularization","in","order","to","learn","a","cluster","membership","distribution","over","nodes",".","The","method","can","be","used","in","an","overlapping","and","non-overlapping","way",".","Args",":","dimensions","(","int",")",":","Number","of","dimensions",".","Default","is","128.","clusters","(","int",")",":","Number","of","clusters",".","Default","is","10.","lambd","(","float",")",":","KKT","penalty",".","Default","is","0.2","alpha","(","float",")",":","Clustering","penalty",".","Default","is","0.05.","beta","(","float",")",":","Modularity","regularization","penalty",".","Default","is","0.05.","iterations","(","int",")",":","Number","of","power","iterations",".","Default","is","200.","lower_control","(","float",")",":","Floating","point","overflow","control",".","Default","is","10","*","*","-15.","eta","(","float",")",":","Similarity","mixing","parameter",".","Default","is","5.0.","seed","(","int",")",":","Random","seed","value",".","Default","is","42","."]
docstr: Fitting an M-NMF clustering model.
  
  Arg types:
      * **graph** *(NetworkX graph)* - The graph to be clustered.
docstr_tok: ["Fitting","an","M-NMF","clustering","model",".","Arg","types",":","*","*","*","graph","*","*","*","(","NetworkX","graph",")","*","-","The","graph","to","be","clustered","."]
code: def fit(self, graph: nx.classes.graph.Graph):
      """
      Fitting an M-NMF clustering model.
  
      Arg types:
          * **graph** *(NetworkX graph)* - The graph to be clustered.
      """
      self._set_seed()
      graph = self._check_graph(graph)
      self._graph = graph
      self._setup_matrices()
      for _ in range(self.iterations):
          self._update_M()
          self._update_U()
          self._update_C()
          self._update_H()
  
file_path: karateclub/karateclub/community_detection/overlapping/mnmf.py
imports: import numpy
  import networkx
  from typing import Dict
  from scipy.sparse import coo_matrix
  from karateclub.estimator import Estimator
label_desc: Use image node_id 11 for calling the MNMF obj's underlying member method code with example usage: obj.fit(graph) without return types