Bug 43: K-Means Demeaned: Initial Centers
- This is k-means++ (an initialization heuristic for the Lloyd-Forgy k-means clustering algorithm).
- It takes as input a slice of points (pts) and chooses k of those points to be the initial cluster centers.
- The chosen points are swapped to the front of the slice. The first point is chosen uniformly at random.
- The remaining k-1 points are each chosen randomly according to a weighted probability distribution.
- The weight of a point is the minimum of its squared Euclidean distances to points already chosen.
Fix The Tiny Bug In This Go Code: