Trait KMeansAlgo

Source
pub trait KMeansAlgo<T: Num> {
    // Required methods
    fn compute_membership_and_loss(
        centroids: &[T],
        data: &[T],
        dimension: usize,
        distance_type: DistanceType,
    ) -> (Vec<Option<u32>>, f64);
    fn to_kmeans(
        data: &[T],
        dimension: usize,
        k: usize,
        membership: &[Option<u32>],
        distance_type: DistanceType,
    ) -> KMeans;
}

Required Methods§

Source

fn compute_membership_and_loss( centroids: &[T], data: &[T], dimension: usize, distance_type: DistanceType, ) -> (Vec<Option<u32>>, f64)

Recompute the membership of each vector.

Parameters:

  • data: a N * dimension floating array. Not necessarily normalized.
Source

fn to_kmeans( data: &[T], dimension: usize, k: usize, membership: &[Option<u32>], distance_type: DistanceType, ) -> KMeans

Construct a new KMeans model.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§