extend and expose KMeansDataGenerator

I don't want to open another pr against upstream