Module rusty_machine::learning::gmm [] [src]

Gaussian Mixture Models

Provides implementation of GMMs using the EM algorithm.

Usage

use rusty_machine::linalg::matrix::Matrix;
use rusty_machine::learning::gmm::{CovOption, GaussianMixtureModel};
use rusty_machine::learning::UnSupModel;

let inputs = Matrix::new(4, 2, vec![1.0, 2.0, 3.0, 3.0, 2.0, 4.0, 5.0, 2.5]);
let test_inputs = Matrix::new(3, 2, vec![1.0, 2.0, 3.0, 2.9, 2.4, 2.5]);

// Create gmm with k(=2) classes.
let mut model = GaussianMixtureModel::new(2);
model.set_max_iters(10);
model.cov_option = CovOption::Diagonal;

// Where inputs is a Matrix with features in columns.
model.train(&inputs);

// Where pred_data is a Matrix with features in columns.
let a = model.predict(&test_inputs);
println!("{:?}", a.data());

Structs

GaussianMixtureModel

A Gaussian Mixture Model

Enums

CovOption

Covariance options for GMMs.