def testComputeOverlapsWithDiagonal(self): data = scipy.sparse.csr_matrix([ [1, 1, 0, 1], [0, 1, 1, 0], [1, 1, 1, 1] ]) dists = HierarchicalClustering._computeOverlaps(data, selfOverlaps=True) self.assertEqual(dists.shape, (6,)) self.assertEqual(dists.tolist(), [3, 1, 3, 2, 2, 4])
def testGetPrototypes(self): data = scipy.sparse.csr_matrix([ [1, 1, 0, 1], [1, 0, 1, 1], [0, 1, 1, 0], [1, 1, 1, 1] ]) overlaps = HierarchicalClustering._computeOverlaps(data) prototypes = HierarchicalClustering._getPrototypes([0, 1, 2, 3], overlaps) self.assertEqual(set(prototypes.tolist()), set([3])) prototypes = HierarchicalClustering._getPrototypes([1, 2, 3], overlaps, 2) self.assertEqual(set(prototypes.tolist()), set([3, 1])) prototypes = HierarchicalClustering._getPrototypes([0, 2, 3], overlaps, 2) self.assertEqual(set(prototypes.tolist()), set([3, 0])) prototypes = HierarchicalClustering._getPrototypes([0, 1, 2], overlaps, 2) self.assertEqual(set(prototypes.tolist()), set([0, 1]))