def purity(self) -> evaluation.FitnessResult:
     """Purity is the product of the frequencies of the most frequent labels carried by the nodes within the communities
     :return: FitnessResult object
     """
     res = None
     if self.coms_labels is not None:
         res = evaluation.purity(self.coms_labels)
     return res
示例#2
0
    def test_purity(self):

        l1 = ["one", "two", "three", "four"]
        l2 = ["A", "B", "C"]
        g_attr = nx.barabasi_albert_graph(100, 5)
        labels = dict()

        for node in g_attr.nodes():
            labels[node] = {"l1": random.choice(l1), "l2": random.choice(l2)}

        coms = eva(g_attr, labels, alpha=0.8)

        pur = evaluation.purity(coms)

        self.assertGreaterEqual(pur.score, 0)
        self.assertLessEqual(pur.score, 1)