docs: def get_initial_centroids(self):
          '''Randomly choose k data points as initial centroids'''
          if self.seed is not None: # useful for obtaining consistent results
              np.random.seed(self.seed)
          n = self.data.shape[0] # number of data points
          
          # Pick K indices from range [0, N).
          rand_indices = np.random.randint(0, n, self.k)
      
          # Keep centroids as dense format, as many entries will be nonzero due to averaging.
          # As long as at least one document in a cluster contains a word,
          # it will carry a nonzero weight in the TF-IDF vector of the centroid.
          centroids = self.data[rand_indices,:].toarray()
          self.centroids=centroids
          return centroids