# "GaussianMixture"(Machine Learning Method)

• Method for LearnDistribution.
• Models probability density with a mixture of Gaussian (normal) distributions.

# Details & Suboptions

• "GaussianMixture" models the probability density of a numeric space using a mixture of multivariate normal distribution.
• Each Gaussian is defined by its mean and covariance matrix, as defined in the "Multinormal" method.
• The following options can be given:
•  "CovarianceType" Automatic type of constraint on the covariance matrices "ComponentsNumber" Automatic number of Gaussians MaxIterations 100 maximum number of expectation-maximization iterations
• Possible settings for "CovarianceType" include:
•  "Diagonal" only diagonal elements are learned (the others are set to 0) "Full" all elements are learned "FullShared" each Gaussian shares the same full covariance "Spherical" only diagonal elements are learned and are set to be equal
• Except when "CovarianceType""FullShared", the covariance matrices can differ from each other.
• Information[LearnedDistribution[],"MethodOption"] can be used to extract the values of options chosen by the automation system.
• LearnDistribution[,FeatureExtractor"Minimal"] can be used to remove most preprocessing and directly access the method.

# Examples

open all close all

## Basic Examples(3)

Train a Gaussian mixture distribution on a numeric dataset:

 In:= Out= Look at the distribution Information:

 In:= Out= Obtain options information:

 In:= Out= Obtain an option value directly:

 In:= Out= Compute the probability density for a new example:

 In:= Out= Plot the PDF along with the training data:

 In:= Out= Generate and visualize new samples:

 In:= Out= Train a Gaussian mixture distribution on a two-dimensional dataset:

 In:= In:= Out= Plot the PDF along with the training data:

 In:= Out= Use SynthesizeMissingValues to impute missing values using the learned distribution:

 In:= Out= In:= Out= Train a Gaussian mixture distribution on a nominal dataset:

 In:= Out= Because of the necessary preprocessing, the PDF computation is not exact:

 In:= Out= In:= Out= Use ComputeUncertainty to obtain the uncertainty on the result:

 In:= Out= Increase MaxIterations to improve the estimation precision:

 In:= Out= 