BTW, in my implementation I used to take `max(2 * len(to_reassign), batch_size)`  samples as candidate for new center positions and then run the kmeans++ init function on that subsample to make sure that the new centers are diverse enough and possibly further improve the quality of the random reassignements.

Do you think it's a good idea?