import numpy as np def assign(X, centroids): raise NotImplementedError def update(X, assignments, centroids): raise NotImplementedError def kmeans(X, init_centroids, max_iterations=100): raise NotImplementedError