Skip to main content
Source

pub async fn aggregate_k_means( &self, table_name: String, column_names: Vec<String>, k: i32, tolerance: f64, ) -> Result<AggregateKMeansResponse, KineticaError>

Run the k-means algorithm on a dataset

This endpoint runs the k-means algorithm - a heuristic algorithm that attempts to do k-means clustering. An ideal k-means clustering algorithm selects k points such that the sum of the mean squared distances of each member of the set to the nearest of the k points is minimized. The k-means algorithm however does not necessarily produce such an ideal cluster. It begins with a randomly selected set of k points and then refines the location of the points iteratively and settles to a local minimum. Various parameters and options are provided to control the heuristic search.

NOTE: The Kinetica instance being accessed must be running a CUDA (GPU-based) build to service this request.

  • table_name - Name of the table on which the operation will be performed. Must be an existing table, in [schema_name.]table_name format, using standard name resolution rules.
  • column_names - List of column names on which the operation would be performed. If n columns are provided then each of the k result points will have n dimensions corresponding to the n columns.
  • k - The number of mean points to be determined by the algorithm.
  • tolerance - Stop iterating when the distances between successive points is less than the given tolerance.
Source

pub async fn aggregate_k_means_with_opts( &self, table_name: String, column_names: Vec<String>, k: i32, tolerance: f64, options: AggregateKMeansRequestOptions, ) -> Result<AggregateKMeansResponse, KineticaError>

Run the k-means algorithm on a dataset

This endpoint runs the k-means algorithm - a heuristic algorithm that attempts to do k-means clustering. An ideal k-means clustering algorithm selects k points such that the sum of the mean squared distances of each member of the set to the nearest of the k points is minimized. The k-means algorithm however does not necessarily produce such an ideal cluster. It begins with a randomly selected set of k points and then refines the location of the points iteratively and settles to a local minimum. Various parameters and options are provided to control the heuristic search.

NOTE: The Kinetica instance being accessed must be running a CUDA (GPU-based) build to service this request.

  • table_name - Name of the table on which the operation will be performed. Must be an existing table, in [schema_name.]table_name format, using standard name resolution rules.
  • column_names - List of column names on which the operation would be performed. If n columns are provided then each of the k result points will have n dimensions corresponding to the n columns.
  • k - The number of mean points to be determined by the algorithm.
  • tolerance - Stop iterating when the distances between successive points is less than the given tolerance.
  • options - The optional parameters; any left unset take the server’s defaults.

Sends a pre-built AggregateKMeansRequest to the /aggregate/kmeans endpoint.

Sends a pre-built AggregateKMeansRequest to a specific worker URL, bypassing HA head-node selection. Used for multi-head access.