def test_cluster_cohesion_without_prototype(self): distances = CondensedMatrix([1., 2., 3., 4., 5., 6., 7., 8., 9., 10.]) clusters_1 = [ Cluster(None, elements=[0, 1]), Cluster(None, elements=[2]), Cluster(None, elements=[3, 4]) ] clusters_2 = [ Cluster(None, elements=[0, 2, 4]), Cluster(None, elements=[1, 3]) ] cohesion_calctor = CohesionCalculator() self.assertEqual( cohesion_calctor.evaluate_cluster(clusters_1[0], distances), 0.5) self.assertEqual( cohesion_calctor.evaluate_cluster(clusters_1[1], distances), 0.) self.assertEqual( cohesion_calctor.evaluate_cluster(clusters_1[2], distances), 5.0) self.assertEqual( cohesion_calctor.evaluate_cluster(clusters_2[0], distances), 5.0) self.assertEqual( cohesion_calctor.evaluate_cluster(clusters_2[1], distances), 3.0)
def test_regression_cohesion_eval(self): distances = CondensedMatrix([1., 2., 3., 4., 5., 6., 7., 8., 9., 10.]) clusters = [ Cluster(None, elements=[0, 1]), Cluster(None, elements=[2]), Cluster(None, elements=[3, 4]) ] clustering = Clustering(clusters) cohesion_calctor = CohesionCalculator() self.assertEqual(cohesion_calctor.evaluate(clustering, distances), 5.5)