Struct cogset::KmeansBuilder
[-] [+]
[src]
pub struct KmeansBuilder { // some fields omitted }
A builder for k-means to provide control over parameters for the algorithm.
This allows one to tweak settings like the tolerance and the number of iterations.
Examples
use cogset::{Euclid, KmeansBuilder}; let data = [Euclid([0.0, 0.0]), Euclid([1.0, 0.5]), Euclid([0.2, 0.2]), Euclid([0.3, 0.8]), Euclid([0.0, 1.0])]; let k = 3; // we want the means extra precise. let tol = 1e-12; let kmeans = KmeansBuilder::new().tolerance(tol).kmeans(&data, k); println!("{:?}", kmeans.clusters());
Methods
impl KmeansBuilder
fn new() -> KmeansBuilder
Create a default KmeansBuilder
fn tolerance(self, tol: f64) -> KmeansBuilder
Set the tolerance used to decide if the iteration has
converged to tol
.
fn max_iter(self, max_iter: usize) -> KmeansBuilder
Set the maximum number of iterations to run before aborting to
max_iter
.
fn kmeans<T>(self, data: &[Euclid<T>], k: usize) -> Kmeans<T> where Euclid<T>: Point + Euclidean + Clone
Run k-means with the given settings.
This is functionally identical to Kmeans::new
, other than
the internal parameters differing.