cdlib.evaluation.surprise¶
- cdlib.evaluation.surprise(graph: Graph, communities: object, **kwargs: dict) object ¶
Surprise is statistical approach proposes a quality metric assuming that edges between vertices emerge randomly according to a hyper-geometric distribution.
According to the Surprise metric, the higher the score of a partition, the less likely it is resulted from a random realization, the better the quality of the community structure.
- Parameters:
graph – a networkx/igraph object
communities – NodeClustering object
- Returns:
FitnessResult object
Example:
>>> from cdlib.algorithms import louvain >>> from cdlib import evaluation >>> g = nx.karate_club_graph() >>> communities = louvain(g) >>> mod = evaluation.surprise(g,communities)
- References:
Traag, V. A., Aldecoa, R., & Delvenne, J. C. (2015). Detecting communities using asymptotical surprise. Physical Review E, 92(2), 022816.