class_docstr: An implementation of `"NetMF" <https://keg.cs.tsinghua.edu.cn/jietang/publications/WSDM18-Qiu-et-al-NetMF-network-embedding.pdf>`_
  from the WSDM '18 paper "Network Embedding as Matrix Factorization: Unifying
  DeepWalk, LINE, PTE, and Node2Vec". The procedure uses sparse truncated SVD to
  learn embeddings for the pooled powers of the PMI matrix computed from powers
  of the normalized adjacency matrix.
  
  Args:
      dimensions (int): Number of embedding dimension. Default is 32.
      iteration (int): Number of SVD iterations. Default is 10.
      order (int): Number of PMI matrix powers. Default is 2.
      negative_samples (in): Number of negative samples. Default is 1.
      seed (int): SVD random seed. Default is 42.
docstr: Creating the normalized adjacency matrix.
  
  Arg types:
      * **graph** *(NetworkX graph)* - The graph to be embedded.
  
  Return types:
      * **(A_hat, A_hat, A_hat, D_inverse)** *(SciPy arrays)* - Normalized adjacency matrices.
docstr_tok: ["Creating","the","normalized","adjacency","matrix",".","Arg","types",":","*","*","*","graph","*","*","*","(","NetworkX","graph",")","*","-","The","graph","to","be","embedded",".","Return","types",":","*","*","*","(","A_hat",",","A_hat",",","A_hat",",","D_inverse",")","*","*","*","(","SciPy","arrays",")","*","-","Normalized","adjacency","matrices","."]
code: def _create_base_matrix(self, graph):
      """
      Creating the normalized adjacency matrix.
  
      Arg types:
          * **graph** *(NetworkX graph)* - The graph to be embedded.
  
      Return types:
          * **(A_hat, A_hat, A_hat, D_inverse)** *(SciPy arrays)* - Normalized adjacency matrices.
      """
      A = nx.adjacency_matrix(
          graph, nodelist=range(graph.number_of_nodes())
      )
      D_inverse = self._create_D_inverse(graph)
      A_hat = D_inverse.dot(A)
      return (A_hat, A_hat, A_hat, D_inverse)
  
file_path: karateclub/karateclub/node_embedding/neighbourhood/netmf.py
imports: import numpy
  import networkx
  from scipy import sparse
  from sklearn.decomposition import TruncatedSVD
  from karateclub.estimator import Estimator
label_desc: Use image node_id 3 for calling the NetMF obj's underlying member method code with example usage: obj._create_base_matrix(graph) and returns: A_hat,  A_hat,  A_hat,  D_inverse