Struct rusty_machine::learning::gmm::GaussianMixtureModel
source · [−]pub struct GaussianMixtureModel {
pub cov_option: CovOption,
/* private fields */
}
Expand description
A Gaussian Mixture Model
Fields
cov_option: CovOption
The covariance options for the GMM.
Implementations
sourceimpl GaussianMixtureModel
impl GaussianMixtureModel
sourcepub fn new(k: usize) -> GaussianMixtureModel
pub fn new(k: usize) -> GaussianMixtureModel
Constructs a new Gaussian Mixture Model
Defaults to 100 maximum iterations and full covariance structure.
Examples
use rusty_machine::learning::gmm::GaussianMixtureModel;
let gmm = GaussianMixtureModel::new(3);
sourcepub fn with_weights(
k: usize,
mixture_weights: Vector<f64>
) -> LearningResult<GaussianMixtureModel>
pub fn with_weights(
k: usize,
mixture_weights: Vector<f64>
) -> LearningResult<GaussianMixtureModel>
Constructs a new GMM with the specified prior mixture weights.
The mixture weights must have the same length as the number of components. Each element of the mixture weights must be non-negative.
Examples
use rusty_machine::learning::gmm::GaussianMixtureModel;
use rusty_machine::linalg::Vector;
let mix_weights = Vector::new(vec![0.25, 0.25, 0.5]);
let gmm = GaussianMixtureModel::with_weights(3, mix_weights).unwrap();
Failures
Fails if either of the following conditions are met:
- Mixture weights do not have length k.
- Mixture weights have a negative entry.
sourcepub fn means(&self) -> Option<&Matrix<f64>>
pub fn means(&self) -> Option<&Matrix<f64>>
The model means
Returns an Option<&Matrix
sourcepub fn covariances(&self) -> Option<&Vec<Matrix<f64>>>
pub fn covariances(&self) -> Option<&Vec<Matrix<f64>>>
The model covariances
Returns an Option<&Vec<Matrix
sourcepub fn mixture_weights(&self) -> &Vector<f64>
pub fn mixture_weights(&self) -> &Vector<f64>
The model mixture weights
Returns a reference to the model mixture weights. These are the weighted contributions of each underlying Gaussian to the model distribution.
sourcepub fn set_max_iters(&mut self, iters: usize)
pub fn set_max_iters(&mut self, iters: usize)
Sets the max number of iterations for the EM algorithm.
Examples
use rusty_machine::learning::gmm::GaussianMixtureModel;
let mut gmm = GaussianMixtureModel::new(2);
gmm.set_max_iters(5);
Trait Implementations
sourceimpl Debug for GaussianMixtureModel
impl Debug for GaussianMixtureModel
sourceimpl UnSupModel<Matrix<f64>, Matrix<f64>> for GaussianMixtureModel
impl UnSupModel<Matrix<f64>, Matrix<f64>> for GaussianMixtureModel
sourcefn train(&mut self, inputs: &Matrix<f64>) -> LearningResult<()>
fn train(&mut self, inputs: &Matrix<f64>) -> LearningResult<()>
Train the model using inputs.
sourcefn predict(&self, inputs: &Matrix<f64>) -> LearningResult<Matrix<f64>>
fn predict(&self, inputs: &Matrix<f64>) -> LearningResult<Matrix<f64>>
Predict output from inputs.