def test_kmeans_simple(self): n = 10 X = np.vstack((np.random.rand(n, 2), -np.random.rand(n, 2))) centers, labels, inertia = kmeans_mpi.kmeans(X, 3) self.assertEqual(centers.shape, (3, 2)) np.testing.assert_array_less(labels, 3) self.assertGreater(inertia, 0.) centers, labels, inertia = kmeans_mpi.kmeans(X, 3, n_init=5) self.assertEqual(centers.shape, (3, 2)) np.testing.assert_array_less(labels, 3) self.assertGreater(inertia, 0.)
def test_kmeans_simple(self): n = 10 X = np.vstack((np.random.rand(n, 2), -np.random.rand(n, 2))) centers, labels, inertia = kmeans_mpi.kmeans(X, 3) self.assertEqual(centers.shape, (3, 2)) np.testing.assert_array_less(labels, 3) self.assertGreater(inertia, 0.0) centers, labels, inertia = kmeans_mpi.kmeans(X, 3, n_init=5) self.assertEqual(centers.shape, (3, 2)) np.testing.assert_array_less(labels, 3) self.assertGreater(inertia, 0.0)
def train(self, incoming_patches): centroids, label, inertia = \ kmeans_mpi.kmeans(incoming_patches, self.specs['k'], n_init = self.specs.get('n_init', 1), max_iter = self.specs.get('max_iter', 100), tol = self.specs.get('tol', 0.0001)) return centroids, (label, inertia)