Struct rusty_machine::learning::gmm::GaussianMixtureModel [] [src]

pub struct GaussianMixtureModel {
    pub cov_option: CovOption,
    // some fields omitted
}

A Gaussian Mixture Model

Fields

cov_option: CovOption

The covariance options for the GMM.

Methods

impl GaussianMixtureModel
[src]

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);

fn with_weights(k: usize, mixture_weights: Vector<f64>) -> 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 _ = GaussianMixtureModel::with_weights(3, mix_weights);

Panics

Panics if either of the following conditions are met:

  • Mixture weights do not have length k.
  • Mixture weights have a negative entry.

fn means(&self) -> Option<&Matrix<f64>>

The model means

Returns an Option<&Matrix> containing the model means. Each row represents the mean of one of the Gaussians.

fn covariances(&self) -> Option<&Vec<Matrix<f64>>>

The model covariances

Returns an Option<&Vec>> containing the model covariances. Each Matrix in the vector is the covariance of one of the Gaussians.

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.

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

impl Debug for GaussianMixtureModel
[src]

fn fmt(&self, __arg_0: &mut Formatter) -> Result

Formats the value using the given formatter.

impl UnSupModel<Matrix<f64>, Matrix<f64>> for GaussianMixtureModel
[src]

fn train(&mut self, inputs: &Matrix<f64>)

Train the model using inputs.

fn predict(&self, inputs: &Matrix<f64>) -> Matrix<f64>

Predict output from inputs.