Accord.Statistics.Kernels.Polynomial.Transform C# (CSharp) Method

Transform() public method

Projects an input point into feature space.
public Transform ( double input ) : double[]
input double The input point to be projected into feature space.
return double[]
        public double[] Transform(double[] input)
        {
            switch (degree)
            {
                case 1:
                    return Linear.Transform(input, constant);

                case 2:
                    return Quadratic.Transform(input, constant);

                default:
                    return Transform(input, degree, constant);
            }
        }

Same methods

Polynomial::Transform ( double input, int degree, double constant ) : double[]

Usage Example

        public void LearnTest()
        {

            double[][] inputs =
            {
                new double[] { -1, -1 },
                new double[] { -1,  1 },
                new double[] {  1, -1 },
                new double[] {  1,  1 }
            };

            int[] xor =
            {
                -1,
                 1,
                 1,
                -1
            };

            var kernel = new Polynomial(2, 0.0);

            double[][] augmented = new double[inputs.Length][];
            for (int i = 0; i < inputs.Length; i++)
                augmented[i] = kernel.Transform(inputs[i]);

            SupportVectorMachine machine = new SupportVectorMachine(augmented[0].Length);

            // Create the Least Squares Support Vector Machine teacher
            var learn = new LinearDualCoordinateDescent(machine, augmented, xor);

            // Run the learning algorithm
            double error = learn.Run();

            Assert.AreEqual(0, error);

            int[] output = augmented.Apply(p => Math.Sign(machine.Compute(p)));
            for (int i = 0; i < output.Length; i++)
                Assert.AreEqual(System.Math.Sign(xor[i]), System.Math.Sign(output[i]));
        }
All Usage Examples Of Accord.Statistics.Kernels.Polynomial::Transform