[][src]Struct kmeans::KMeansState

pub struct KMeansState<T: Primitive> {
    pub k: usize,
    pub distsum: T,
    pub centroids: Vec<T>,
    pub centroid_frequency: Vec<usize>,
    pub assignments: Vec<usize>,
    pub centroid_distances: Vec<T>,
    // some fields omitted
}

This is the internally used data-structure, storing the current state during calculation, as well as the final result, as returned by the API. All mutations are done in this structure, making KMeans immutable, and therefore allowing it to be used in parallel, without having to duplicate the input-data.

Generics

  • T: Underlying primitive type that was used for the calculation

Fields

  • k: The amount of clusters that were requested when calculating this k-means result
  • distsum: The total sum of (squared) distances from all samples to their respective centroids
  • centroids: Calculated cluster centers [row-major] = [,,,...]
  • centroid_frequency: Amount of samples in each centroid
  • assignments: Vector mapping each sample to its respective nearest cluster
  • centroid_distances: Vector containing each sample's (squared) distance to its centroid

Fields

k: usizedistsum: Tcentroids: Vec<T>centroid_frequency: Vec<usize>assignments: Vec<usize>centroid_distances: Vec<T>

Trait Implementations

impl<T: Clone + Primitive> Clone for KMeansState<T>[src]

impl<T: Debug + Primitive> Debug for KMeansState<T>[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for KMeansState<T> where
    T: RefUnwindSafe

impl<T> Send for KMeansState<T>

impl<T> Sync for KMeansState<T>

impl<T> Unpin for KMeansState<T> where
    T: Unpin

impl<T> UnwindSafe for KMeansState<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> Cast<U> for T where
    U: FromCast<T>, 
[src]

impl<T> From<T> for T[src]

impl<T> FromCast<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,