class_docstr: An implementation of `"FEATHER-N" <https://arxiv.org/abs/2005.07959>`_
  from the CIKM '20 paper "Characteristic Functions on Graphs: Birds of a Feather,
  from Statistical Descriptors to Parametric Models". The procedure
  uses characteristic functions of node features with random walk weights to describe
  node neighborhoods.
  
  Args:
      reduction_dimensions (int): SVD reduction dimensions. Default is 64.
      svd_iterations (int): SVD iteration count. Default is 20.
      theta_max (float): Maximal evaluation point. Default is 2.5.
      eval_points (int): Number of characteristic function evaluation points. Default is 25.
      order (int): Scale - number of adjacency matrix powers. Default is 5.
      seed (int): Random seed value. Default is 42.
code: def __init__(
      self,
      reduction_dimensions: int = 64,
      svd_iterations: int = 20,
      theta_max: float = 2.5,
      eval_points: int = 25,
      order: int = 5,
      seed: int = 42,
  ):
      self.reduction_dimensions = reduction_dimensions
      self.svd_iterations = svd_iterations
      self.seed = seed
      self.theta_max = theta_max
      self.eval_points = eval_points
      self.order = order
      self.seed = seed
  
file_path: karateclub/karateclub/node_embedding/attributed/feathernode.py
imports: import scipy
  import numpy
  import networkx
  from typing import Union
  from scipy.sparse import coo_matrix
  from karateclub.estimator import Estimator
  from sklearn.decomposition import TruncatedSVD
label_desc: Use image node_id 1 to create a new FeatherNode object from inherited base classes: Estimator with example: obj = FeatherNode(reduction_dimensions, svd_iterations, theta_max, eval_points, order, seed)