I think this should happen when train is called actually. To me it makes sense that it should be possible to do in Python something like:

```
kmeans = KMeans(...)
kmeans.set_use_kmeanspp(False)
kmeans.train() # this time the cluster centers are not initialized using k-means++
kmeans.set_use_kemanspp(True)
kmeans.train() # this second time k-means++ is used 
```