cdlib.evaluation.normalized_cut¶
-
normalized_cut
(graph: <Mock id='140361405504080'>, community: object, summary: bool = True) → object¶ Normalized variant of the Cut-Ratio
\[f(S) = \frac{c_S}{2m_S+c_S} + \frac{c_S}{2(m−m_S )+c_S}\]where \(m\) is the number of graph edges, \(m_S\) is the number of community internal edges and \(c_S\) is the number of community nodes.
Parameters: - graph – a networkx/igraph object
- community – NodeClustering object
- summary – boolean. If True it is returned an aggregated score for the partition is returned, otherwise individual-community ones. Default True.
Returns: If summary==True a FitnessResult object, otherwise a list of floats.
Example:
>>> from cdlib.algorithms import louvain >>> from cdlib import evaluation >>> g = nx.karate_club_graph() >>> communities = louvain(g) >>> mod = evaluation.normalized_cut(g,communities)
References: 1.Shi, J., Malik, J.: Normalized cuts and image segmentation. Departmental Papers (CIS), 107 (2000)