> 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?

In the batch settings absolutely. In the mini-batch settings, I don't
know. My gut feeling is that it is a good idea if the mini-batch is big
enough.