class_docstr: An implementation of `"Label Propagation Clustering" <https://arxiv.org/abs/0709.2938>`_
  from the Physical Review '07 paper "Near Linear Time Algorithm to Detect Community Structures
  in Large-Scale Networks". The tool executes a series of label propagations with unique labels.
  The final labels are used as cluster memberships.
  
  Args:
      seed (int): Random seed. Default is 42.
      iterations (int): Propagation iterations. Default is 100.
docstr: Doing a propagation round.
docstr_tok: ["Doing","a","propagation","round","."]
code: def _do_a_propagation(self):
      """
      Doing a propagation round.
      """
      random.shuffle(self._nodes)
      new_labels = {}
      for node in self._nodes:
          neighbors = [neb for neb in nx.neighbors(self._graph, node)]
          pick = self._make_a_pick(neighbors)
          new_labels[node] = pick
      self._labels = new_labels
  
file_path: karateclub/karateclub/community_detection/non_overlapping/label_propagation.py
imports: import random
  import networkx
  from typing import Dict
  from karateclub.estimator import Estimator
label_desc: Use image node_id 3 for calling the LabelPropagation obj's underlying member method code with example usage: obj._do_a_propagation() without return types