Accord.Tests.Statistics.PolynomialTest.FunctionTest2 C# (CSharp) Метод

FunctionTest2() приватный Метод

private FunctionTest2 ( ) : void
Результат void
        public void FunctionTest2()
        {
            // Tested against R's kernlab

            double[][] data = 
            {
                new double[] { 5.1, 3.5, 1.4, 0.2 },
                new double[] { 5.0, 3.6, 1.4, 0.2 },
                new double[] { 4.9, 3.0, 1.4, 0.2 },
                new double[] { 5.8, 4.0, 1.2, 0.2 },
                new double[] { 4.7, 3.2, 1.3, 0.2 },
            };

            // rbf <- polydot(3)

            Polynomial kernel = new Polynomial(degree: 3, constant: 1);

            // Compute the kernel matrix
            double[,] actual = new double[5, 5];
            for (int i = 0; i < 5; i++)
                for (int j = 0; j < 5; j++)
                    actual[i, j] = kernel.Function(data[i], data[j]);

            double[,] expected =
            {
                { 70240.51, 69426.53, 57022.17,  99252.85, 55002.06 },
                { 69426.53, 68719.48, 56181.89,  98099.75, 54353.80 },
                { 57022.17, 56181.89, 46694.89,  80286.11, 44701.08 },
                { 99252.85, 98099.75, 80286.11, 141583.69, 77635.89 },
                { 55002.06, 54353.80, 44701.08,  77635.89, 43095.88 },

            };

            // Assert both are equal
            for (int i = 0; i < 5; i++)
                for (int j = 0; j < 5; j++)
                    Assert.AreEqual(expected[i, j], actual[i, j], 1e-2);
        }