Skip to content

Commit b82cafa

Browse files
committed
found a shorter example for numpy indexing
1 parent 6c6447f commit b82cafa

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

Diff for: README.md

+3-4
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,10 @@ def kmeans(init_centers, X, n_iterations: int):
2020
centers = init_centers.copy()
2121
for _ in range(n_iterations):
2222
d = cdist(centers, X)
23-
clusters = np.argmin(d, axis=0)
23+
clusters = np.argmin(d, axis=0)
2424
new_centers_sum = np.zeros_like(centers)
25-
clstr_indices = np.tile(clusters[:, None], reps=(1, n_dim))
26-
dim_indices = np.tile(np.arange(n_dim)[None, :], reps=(n_onservations, 1))
27-
np.add.at(new_centers_sum, (clstr_indices, dim_indices), X)
25+
indices_dim = np.arange(n_dim)[None, :]
26+
np.add.at(new_centers_sum, (clusters[:, None], indices_dim), X)
2827
cluster_counts = np.bincount(clusters, minlength=n_clusters)
2928
centers = new_centers_sum / cluster_counts[:, None]
3029
return centers

0 commit comments

Comments
 (0)