class_docstr: An implementation of `"Diff2Vec" <http://homepages.inf.ed.ac.uk/s1668259/papers/sequence.pdf>`_
  from the CompleNet '18 paper "Diff2Vec: Fast Sequence Based Embedding with Diffusion Graphs".
  The procedure creates diffusion trees from every source node in the graph. These graphs are linearized
  by a directed Eulerian walk, the walks are used for running the skip-gram algorithm the learn node
  level neighbourhood based embeddings.
  
  Args:
      diffusion_number (int): Number of diffusions. Default is 10.
      diffusion_cover (int): Number of nodes in diffusion. Default is 80.
      dimensions (int): Dimensionality of embedding. Default is 128.
      workers (int): Number of cores. Default is 4.
      window_size (int): Matrix power order. Default is 5.
      epochs (int): Number of epochs. Default is 1.
      use_hierarchical_softmax (bool): Whether to use hierarchical softmax or negative sampling to train the model. Default is True.
      number_of_negative_samples (int): Number of negative nodes to sample (usually between 5-20). If set to 0, no negative sampling is used. Default is 5.
      learning_rate (float): HogWild! learning rate. Default is 0.05.
      min_count (int): Minimal count of node occurrences. Default is 1.
      seed (int): Random seed value. Default is 42.
docstr: Getting the node embedding.
  
  Return types:
      * **embedding** *(Numpy array)* - The embedding of nodes.
code: def get_embedding(self) -> np.array:
      r"""Getting the node embedding.
  
      Return types:
          * **embedding** *(Numpy array)* - The embedding of nodes.
      """
      return np.array(self._embedding)
  
file_path: karateclub/karateclub/node_embedding/neighbourhood/diff2vec.py
imports: import numpy
  import networkx
  from gensim.models.word2vec import Word2Vec
  from karateclub.utils.diffuser import EulerianDiffuser
  from karateclub.estimator import Estimator
label_desc: Use image node_id 3 for calling the Diff2Vec obj's underlying member method code with example usage: obj.get_embedding() and returns: np