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.
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.
pub async fn aggregate_k_means_raw( &self, request: &AggregateKMeansRequest, ) -> Result<AggregateKMeansResponse, KineticaError>
Sends a pre-built AggregateKMeansRequest to the /aggregate/kmeans endpoint.
pub async fn aggregate_k_means_from_url( &self, url: &str, request: &AggregateKMeansRequest, ) -> Result<AggregateKMeansResponse, KineticaError>
Sends a pre-built AggregateKMeansRequest to a specific worker URL, bypassing HA head-node selection. Used for multi-head access.