code: function step(centers, data, clusterID, K, options, iterations) {
                  clusterID = utils.updateClusterID(data, centers, clusterID, options.distanceFunction);
                  var newCenters = utils.updateCenters(data, clusterID, K);
                  var converged = utils.converged(newCenters, centers, options.distanceFunction, options.tolerance);
                  return new KMeansResult_1(clusterID, newCenters, converged, iterations, options.distanceFunction);
              }
docs: Each step operation for kmeans
  @ignore
  @param {Array<Array<Number>>} centers - the K centers in format [x,y,z,...]
  @param {Array<Array<Number>>} data - the [x,y,z,...] points to cluster
  @param {Array<Number>} clusterID - the cluster identifier for each data dot
  @param {Number} K - Number of clusters
  @param {Object} [options] - Option object
  @param {Number} iterations - Current number of iterations
  @return {KMeansResult}