class_docstr: An implementation of `"Ego-Splitting" <https://www.eecs.yorku.ca/course_archive/2017-18/F/6412/reading/kdd17p145.pdf>`_
  from the KDD '17 paper "Ego-Splitting Framework: from Non-Overlapping to Overlapping Clusters". The tool first creates
  the ego-nets of nodes. A persona-graph is created which is clustered by the Louvain method. The resulting overlapping
  cluster memberships are stored as a dictionary.
  
  Args:
      resolution (float): Resolution parameter of Python Louvain. Default 1.0.
      seed (int): Random seed value. Default is 42.
      weight (str): the key in the graph to use as weight. Default to 'weight'. Specify None to force using an unweighted version of the graph.
class_docstr_tok: ["An","implementation","of","`","``","Ego-Splitting","''","<","https",":","\/\/www.eecs.yorku.ca\/course_archive\/2017-18\/F\/6412\/reading\/kdd17p145.pdf",">","`","_","from","the","KDD","'17","paper","``","Ego-Splitting","Framework",":","from","Non-Overlapping","to","Overlapping","Clusters","''",".","The","tool","first","creates","the","ego-nets","of","nodes",".","A","persona-graph","is","created","which","is","clustered","by","the","Louvain","method",".","The","resulting","overlapping","cluster","memberships","are","stored","as","a","dictionary",".","Args",":","resolution","(","float",")",":","Resolution","parameter","of","Python","Louvain",".","Default","1.0.","seed","(","int",")",":","Random","seed","value",".","Default","is","42.","weight","(","str",")",":","the","key","in","the","graph","to","use","as","weight",".","Default","to","'weight","'",".","Specify","None","to","force","using","an","unweighted","version","of","the","graph","."]
docstr: Creating a non-overlapping clustering of nodes in the persona graph.
docstr_tok: ["Creating","a","non-overlapping","clustering","of","nodes","in","the","persona","graph","."]
code: def _create_partitions(self):
      """
      Creating a non-overlapping clustering of nodes in the persona graph.
      """
      if self.weight is None:
          self.partitions = community.best_partition(
              self.persona_graph, resolution=self.resolution
          )
      else:
          self.partitions = community.best_partition(
              self.persona_graph,
              resolution=self.resolution,
              weight=self.weight,
          )
      self.overlapping_partitions = {
          node: [] for node in self.graph.nodes()
      }
      for node, membership in self.partitions.items():
          self.overlapping_partitions[
              self.personality_map[node]
          ].append(membership)
  
file_path: karateclub/karateclub/community_detection/overlapping/ego_splitter.py
imports: import community
  import networkx
  from typing import Dict, Optional
  from karateclub.estimator import Estimator
label_desc: Use image node_id 7 for calling the EgoNetSplitter obj's underlying member method code with example usage: obj._create_partitions() without return types