Accord.Tests.Statistics.RunningMarkovClassifierTest.PushTest2 C# (CSharp) Method

PushTest2() private method

private PushTest2 ( ) : void
return void
        public void PushTest2()
        {
            double[][] sequences;

            var classifier = createClassifier(out sequences, rejection: true);
            var running = new RunningMarkovClassifier<NormalDistribution>(classifier);

            for (int i = 0; i < sequences.Length; i++)
            {
                double[] sequence = sequences[i];

                running.Clear();
                for (int j = 0; j < sequence.Length; j++)
                    running.Push(sequence[j]);

                double actualLikelihood;
                int actual = running.Classification;

                if (actual > -1)
                {
                    double sum = running.Responses.Exp().Sum() + Math.Exp(running.Threshold);
                    actualLikelihood = Math.Exp(running.Responses[actual]) / sum;
                }
                else
                {
                    double sum = running.Responses.Exp().Sum();
                    actualLikelihood = Math.Exp(running.Threshold) /
                        (sum + Math.Exp(running.Threshold));
                }

                double expectedLikelihood;
                int expected = classifier.Compute(sequence, out expectedLikelihood);

                Assert.AreEqual(expected, actual);
                Assert.AreEqual(expectedLikelihood, actualLikelihood, 1e-8);
            }
        }
RunningMarkovClassifierTest