Accord.Tests.Statistics.Models.Fields.DiscreteHiddenMarkovClassifierPotentialFunctionTest.HiddenMarkovHiddenPotentialFunctionConstructorTest C# (CSharp) 메소드

HiddenMarkovHiddenPotentialFunctionConstructorTest() 개인적인 메소드

        public void HiddenMarkovHiddenPotentialFunctionConstructorTest()
        {
            HiddenMarkovClassifier model = CreateModel1();

            MarkovDiscreteFunction target = new MarkovDiscreteFunction(model);

            var features = target.Features;
            double[] weights = target.Weights;

            Assert.AreEqual(22, features.Length);
            Assert.AreEqual(22, weights.Length);

            int k = 0;
            for (int c = 0; c < model.Classes; c++)
            {
                Assert.AreEqual(Math.Log(model.Priors[c]), weights[k++]);

                for (int i = 0; i < model[c].States; i++)
                    Assert.AreEqual(model[c].Probabilities[i], weights[k++]);

                for (int i = 0; i < model[c].States; i++)
                    for (int j = 0; j < model[c].States; j++)
                        Assert.AreEqual(model[c].Transitions[i, j], weights[k++]);

                for (int i = 0; i < model[c].States; i++)
                    for (int j = 0; j < model.Symbols; j++)
                        Assert.AreEqual(model[c].Emissions[i, j], weights[k++]);
            }

        }