#[non_exhaustive]pub struct GmmResult {
pub cluster: Vec<usize>,
pub membership: FdMatrix,
pub means: Vec<Vec<f64>>,
pub covariances: Vec<Vec<f64>>,
pub weights: Vec<f64>,
pub log_likelihood: f64,
pub bic: f64,
pub icl: f64,
pub iterations: usize,
pub converged: bool,
pub k: usize,
pub d: usize,
}Expand description
Result from a single GMM fit with fixed K.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.cluster: Vec<usize>Hard cluster assignments (length n)
membership: FdMatrixPosterior membership probabilities (n x K)
means: Vec<Vec<f64>>Component means (K x d)
covariances: Vec<Vec<f64>>Component covariances: for Full, each is d×d flattened; for Diagonal, each is length d
weights: Vec<f64>Mixing proportions (length K)
log_likelihood: f64Log-likelihood at convergence
bic: f64BIC value
icl: f64ICL value (BIC penalized by entropy)
iterations: usizeNumber of EM iterations
converged: boolWhether EM converged
k: usizeNumber of clusters
d: usizeFeature dimension (basis coefficients + covariates)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for GmmResult
impl RefUnwindSafe for GmmResult
impl Send for GmmResult
impl Sync for GmmResult
impl Unpin for GmmResult
impl UnsafeUnpin for GmmResult
impl UnwindSafe for GmmResult
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.