class_docstr: An implementation of `"Second-order LINE" <https://arxiv.org/abs/1503.03578>`_
  from the paper "LINE: Large-scale Information Network Embedding".
  
  Args:
      dimensions (int): Dimensionality of embedding. Default is 128.
      epochs (int): Number of epochs. Default is 100.
      mini_batch_size (int): Number of samples in each mini-batch. Default is 128.
      learning_rate (float): learning rate. Default is 0.05.
      learning_rate_decay (float): learning rate decay per epoch. Default is 0.999.
      verbose (bool): whether to show a loading bar using TQDM while queering.
      seed (int): Random seed value. Default is 42.
code: def __init__(
      self,
      dimensions: int = 128,
      epochs: int = 100,
      mini_batch_size: int = 128,
      learning_rate: float = 0.05,
      learning_rate_decay: float = 0.999,
      verbose: bool = True,
      seed: int = 42,
  ):
      self.mini_batch_size = mini_batch_size
      self.dimensions = dimensions
      self.epochs = epochs
      self.learning_rate = learning_rate
      self.learning_rate_decay = learning_rate_decay
      self.seed = seed
      self.verbose = verbose
      self.src_embedding = None
      self.dst_embedding = None
  
file_path: karateclub/karateclub/node_embedding/neighbourhood/second_order_line.py
imports: import numpy
  import networkx
  from karateclub.estimator import Estimator
  from tqdm.auto import trange
label_desc: Use image node_id 1 to create a new SecondOrderLINE object from inherited base classes: Estimator with example: obj = SecondOrderLINE(dimensions, epochs, mini_batch_size, learning_rate, learning_rate_decay, verbose, seed)