Example usage for org.apache.commons.math3.distribution.fitting MultivariateNormalMixtureExpectationMaximization fit

List of usage examples for org.apache.commons.math3.distribution.fitting MultivariateNormalMixtureExpectationMaximization fit

Introduction

In this page you can find the example usage for org.apache.commons.math3.distribution.fitting MultivariateNormalMixtureExpectationMaximization fit.

Prototype

public void fit(final MixtureMultivariateNormalDistribution initialMixture, final int maxIterations,
        final double threshold)
        throws SingularMatrixException, NotStrictlyPositiveException, DimensionMismatchException 

Source Link

Document

Fit a mixture model to the data supplied to the constructor.

Usage

From source file:sly.speakrecognizer.test.math.MultivariateNormalMixtureExpectationMaximizationFitterTest.java

@Test(expected = NotStrictlyPositiveException.class)
public void testMaxIterationsPositive() {
    // Maximum iterations for fit must be positive integer
    double[][] data = getTestSamples();
    MultivariateNormalMixtureExpectationMaximization fitter = new MultivariateNormalMixtureExpectationMaximization(
            data);/*from   w w w  .ja v a2s . c o m*/

    MixtureMultivariateNormalDistribution initialMix = MultivariateNormalMixtureExpectationMaximization
            .estimate(data, 2);

    fitter.fit(initialMix, 0, 1E-5);
}

From source file:sly.speakrecognizer.test.math.MultivariateNormalMixtureExpectationMaximizationFitterTest.java

@Test(expected = NotStrictlyPositiveException.class)
public void testThresholdPositive() {
    // Maximum iterations for fit must be positive
    double[][] data = getTestSamples();
    MultivariateNormalMixtureExpectationMaximization fitter = new MultivariateNormalMixtureExpectationMaximization(
            data);//from   w  w w .  j  ava2  s .  c  om

    MixtureMultivariateNormalDistribution initialMix = MultivariateNormalMixtureExpectationMaximization
            .estimate(data, 2);

    fitter.fit(initialMix, 1000, 0);
}

From source file:sly.speakrecognizer.test.math.MultivariateNormalMixtureExpectationMaximizationFitterTest.java

@Test(expected = ConvergenceException.class)
public void testConvergenceException() {
    // ConvergenceException thrown if fit terminates before threshold met
    double[][] data = getTestSamples();
    MultivariateNormalMixtureExpectationMaximization fitter = new MultivariateNormalMixtureExpectationMaximization(
            data);/*from   www. j ava  2  s.  c  o  m*/

    MixtureMultivariateNormalDistribution initialMix = MultivariateNormalMixtureExpectationMaximization
            .estimate(data, 2);

    // 5 iterations not enough to meet convergence threshold
    fitter.fit(initialMix, 5, 1E-5);
}