| 93 | |
| 94 | |
| 95 | def revise_centroids(data, k, cluster_assignment): |
| 96 | new_centroids = [] |
| 97 | for i in range(k): |
| 98 | # Select all data points that belong to cluster i. Fill in the blank (RHS only) |
| 99 | member_data_points = data[cluster_assignment == i] |
| 100 | # Compute the mean of the data points. Fill in the blank (RHS only) |
| 101 | centroid = member_data_points.mean(axis=0) |
| 102 | new_centroids.append(centroid) |
| 103 | new_centroids = np.array(new_centroids) |
| 104 | |
| 105 | return new_centroids |
| 106 | |
| 107 | |
| 108 | def compute_heterogeneity(data, k, centroids, cluster_assignment): |