pub struct KMeansState<T: Primitive> {
pub k: usize,
pub distsum: T,
pub centroids: StrideBuffer<T>,
pub centroid_frequency: Vec<usize>,
pub assignments: Vec<usize>,
pub centroid_distances: Vec<T>,
}Expand description
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: usize§distsum: T§centroids: StrideBuffer<T>§centroid_frequency: Vec<usize>§assignments: Vec<usize>§centroid_distances: Vec<T>Trait Implementations§
Source§impl<T: Clone + Primitive> Clone for KMeansState<T>
impl<T: Clone + Primitive> Clone for KMeansState<T>
Source§fn clone(&self) -> KMeansState<T>
fn clone(&self) -> KMeansState<T>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl<T> Freeze for KMeansState<T>where
T: Freeze,
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 + RefUnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more