cdlib.evaluation.purity

purity(communities: object) → cdlib.evaluation.fitness.FitnessResult

Purity is the product of the frequencies of the most frequent labels carried by the nodes within the communities

Parameters:communities – AttrNodeClustering object
Returns:FitnessResult object

Example:

>>> from cdlib.algorithms import eva
>>> from cdlib import evaluation
>>> import random
>>> l1 = ['A', 'B', 'C', 'D']
>>> l2 = ["E", "F", "G"]
>>> g = nx.barabasi_albert_graph(100, 5)
>>> labels=dict()
>>> for node in g.nodes():
>>>    labels[node]={"l1":random.choice(l1), "l2":random.choice(l2)}
>>> communities = eva(g_attr, labels, alpha=0.5)
>>> pur = evaluation.purity(communities)
References:
  1. Citraro, Salvatore, and Giulio Rossetti. “Eva: Attribute-Aware Network Segmentation.” International Conference on Complex Networks and Their Applications. Springer, Cham, 2019.