Struct kmeans::KMeansState
source · 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>,
/* private fields */
}
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: Vec<T>
§centroid_frequency: Vec<usize>
§assignments: Vec<usize>
§centroid_distances: Vec<T>
Trait Implementations§
Auto 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,
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