cdlib.algorithms.lswl_plus

lswl_plus(g_original: object, strength_type: int = 1, merge_outliers: bool = True, detect_overlap: bool = False) → cdlib.classes.node_clustering.NodeClustering

LSWL+ is capable of finding a partition with overlapping communities or without them, based on user preferences. This method can also find outliers (peripheral nodes of the graph that are marginally connected to communities) and hubs (nodes that bridge the communities)

Supported Graph Types

Undirected Directed Weighted
Yes No Yes
Parameters:
  • g_original – a networkx/igraph object
  • strength_type – 1 strengths between [-1,+1] or, 2 strengths between [0,1]. Default, 2.
  • merge_outliers – If outliers need to merge into communities. Default, True.
  • detect_overlap – If overlapping communities need to be detected. Default, False
Returns:

NodeClustering object

Example:
>>> from cdlib import algorithms
>>> import networkx as nx
>>> G = nx.karate_club_graph()
>>> coms = algorithms.lswl_plus(G)
References:

Fast Local Community Discovery: Relying on the Strength of Links (submitted for KDD 2021)

Note

Reference implementation: https://github.com/mahdi-zafarmand/LSWL