class_docstr: An implementation of `"DANMF" <https://smartyfh.com/Documents/18DANMF.pdf>`_
  from the CIKM '18 paper "Deep Autoencoder-like Nonnegative Matrix Factorization for
  Community Detection". The procedure uses telescopic non-negative matrix factorization
  in order to learn a cluster membership distribution over nodes. The method can be
  used in an overlapping and non-overlapping way.
  
  Args:
      layers (list): Autoencoder layer sizes in a list of integers. Default [32, 8].
      pre_iterations (int): Number of pre-training epochs. Default 100.
      iterations (int): Number of training epochs. Default 100.
      seed (int): Random seed for weight initializations. Default 42.
      lamb (float): Regularization parameter. Default 0.01.
      seed (int): Random seed value. Default is 42.
class_docstr_tok: ["An","implementation","of","`","``","DANMF","''","<","https",":","\/\/smartyfh.com\/Documents\/18DANMF.pdf",">","`","_","from","the","CIKM","'18","paper","``","Deep","Autoencoder-like","Nonnegative","Matrix","Factorization","for","Community","Detection","''",".","The","procedure","uses","telescopic","non-negative","matrix","factorization","in","order","to","learn","a","cluster","membership","distribution","over","nodes",".","The","method","can","be","used","in","an","overlapping","and","non-overlapping","way",".","Args",":","layers","(","list",")",":","Autoencoder","layer","sizes","in","a","list","of","integers",".","Default","[","32",",","8","]",".","pre_iterations","(","int",")",":","Number","of","pre-training","epochs",".","Default","100.","iterations","(","int",")",":","Number","of","training","epochs",".","Default","100.","seed","(","int",")",":","Random","seed","for","weight","initializations",".","Default","42.","lamb","(","float",")",":","Regularization","parameter",".","Default","0.01.","seed","(","int",")",":","Random","seed","value",".","Default","is","42","."]
code: def __init__(
      self,
      layers: List[int] = [32, 8],
      pre_iterations: int = 100,
      iterations: int = 100,
      seed: int = 42,
      lamb: float = 0.01,
  ):
      self.layers = layers
      self.pre_iterations = pre_iterations
      self.iterations = iterations
      self.seed = seed
      self.lamb = lamb
      self._p = len(self.layers)
      self.seed = seed
  
imports: import numpy
  import networkx
  from typing import List, Dict
  from sklearn.decomposition import NMF
  from karateclub.estimator import Estimator
label_desc: Use image node_id 1 to create a new DANMF object from inherited base classes: Estimator with example: obj = DANMF(layers, pre_iterations, iterations, seed, lamb)