class_docstr: An implementation of `"GraphWave" <https://dl.acm.org/citation.cfm?id=2806512>`_
  from the KDD '18 paper "Learning Structural Node Embeddings Via Diffusion Wavelets".
  The procedure first calculates the graph wavelets using a heat kernel. The wavelets
  are treated as probability distributions over nodes from a source node. Using these
  the characteristic function is evaluated at certain gird points to learn structural
  node embeddings of the vertices.
  
  Args:
      sample_number (int): Number of evaluation points. Default is 200.
      step_size (float): Grid point step size. Default is 0.1.
      heat_coefficient (float): Heat kernel coefficient. Default is 1.0.
      approximation (int): Chebyshev polynomial order. Default is 100.
      mechanism (str): Wavelet calculation method one of:
                       (:obj:`"exact"`, :obj:`"approximate"`). Default is 'approximate'.
      switch (int): Vertex cardinality when the wavelet calculation method switches to approximation. Default is 1000.
      seed (int): Random seed value. Default is 42.
docstr: Fitting a GraphWave model.
  
  Arg types:
      * **graph** *(NetworkX graph)* - The graph to be embedded.
docstr_tok: ["Fitting","a","GraphWave","model",".","Arg","types",":","*","*","*","graph","*","*","*","(","NetworkX","graph",")","*","-","The","graph","to","be","embedded","."]
code: def fit(self, graph: nx.classes.graph.Graph):
      """
      Fitting a GraphWave model.
  
      Arg types:
          * **graph** *(NetworkX graph)* - The graph to be embedded.
      """
      self._set_seed()
      graph = self._check_graph(graph)
      self._create_evaluation_points()
      self._check_size(graph)
      self._G = pygsp.graphs.Graph(nx.adjacency_matrix(graph))
  
      if self.mechanism == "exact":
          self._exact_structural_wavelet_embedding()
      elif self.mechanism == "approximate":
          self._approximate_structural_wavelet_embedding()
      else:
          raise NameError("Unknown method.")
  
file_path: karateclub/karateclub/node_embedding/structural/graphwave.py
imports: import pygsp
  import numpy
  import networkx
  from karateclub.estimator import Estimator
label_desc: Use image node_id 9 for calling the GraphWave obj's underlying member method code with example usage: obj.fit(graph) without return types