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: Fitting a Label Propagation clustering model.
  
  Arg types:
      * **graph** *(NetworkX graph)* - The graph to be clustered.
docstr_tok: ["Fitting","a","Label","Propagation","clustering","model",".","Arg","types",":","*","*","*","graph","*","*","*","(","NetworkX","graph",")","*","-","The","graph","to","be","clustered","."]
code: def fit(self, graph: nx.classes.graph.Graph):
      """
      Fitting a Label Propagation clustering model.
  
      Arg types:
          * **graph** *(NetworkX graph)* - The graph to be clustered.
      """
      self._set_seed()
      graph = self._check_graph(graph)
      self._graph = graph
      self._nodes = [node for node in self._graph.nodes()]
      self._labels = {
          node: i for i, node in enumerate(self._graph.nodes())
      }
      random.seed(self.seed)
      for _ in range(self.iterations):
          self._do_a_propagation()
  
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 4 for calling the LabelPropagation obj's underlying member method code with example usage: obj.fit(graph) without return types