From developers' perspective, why did they design KMeans using a class and let people init it and use it like this:
from sklearn.cluster import KMeans
import numpy as np
X = np.array([[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]])
kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
Why not a function so that users can import and call it directly?