назначение scipy.cluster kmeans2 не предсказуемо

#python #scipy #k-means

Вопрос:

Я не уверен, как работает назначение кластера scipy-я попытался вручную назначить кластеры сам, используя центры кластеров, и не смог получить точно такое же назначение:

 np.random.seed(0)
data = np.random.randn(10000, 10)
num_clusters = 64
cluster_centers, cluster_assignments = scipy.cluster.vq.kmeans2(data, num_clusters, minit='points', seed=0)

assignments = []
for i in tqdm(range(10000)):
    feat = data[i]
    
    min_cluster_idx, min_dist = 0, 1e10
    for cluster_idx in range(64):
        dist = np.sum(np.square(cluster_centers[cluster_idx] - feat))
        if dist < min_dist:
            min_cluster_idx = cluster_idx
            min_dist = dist
    
    assignments.append(min_cluster_idx)

print((cluster_assignments == assignments).sum())
# ^ prints 9718
 

Есть идеи, почему это 9718, а не 10000?