def test_converges(self): for ix, input in enumerate(self.test_cases['input']): km = KMeans(input, self.test_cases['K'][ix]) km._init_centroids() old_centroid, centroid, bool_value = self.test_cases['converge'][ix] km.old_centroids, km.centroids = old_centroid, centroid self.assertEqual(km.converges(), bool_value)
def test_get_labels(self): for ix, input in enumerate(self.test_cases['input']): km = KMeans(input, self.test_cases['K'][ix]) km._init_centroids() km.get_labels() np.testing.assert_array_equal(km.labels, self.test_cases['labels'][ix])
def test_get_centroids(self): for ix, input in enumerate(self.test_cases['input']): km = KMeans(input, self.test_cases['K'][ix]) km._init_centroids() km.get_labels() km.get_centroids() # Compare old centroids np.testing.assert_array_equal(km.old_centroids, self.test_cases['get_centroid'][ix][0]) # Compare new centroids np.testing.assert_array_equal(km.centroids, self.test_cases['get_centroid'][ix][1])