コード例 #1
0
 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])
コード例 #2
0
  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]))