numl.Supervised.Regression.LogisticRegressionGenerator.IncreaseDimensions C# (CSharp) Method

IncreaseDimensions() public static method

Adds a specified number of polynomial features to the training set Matrix.
public static IncreaseDimensions ( Matrix x, int polynomialFeatures ) : Matrix
x Matrix Training set
polynomialFeatures int Number of polynomial features to add
return Matrix
        public static Matrix IncreaseDimensions(Matrix x, int polynomialFeatures)
        {
            Matrix Xtemp = x.Copy();
            int maxCols = Xtemp.Cols;
            for (int j = 0; j < maxCols - 1; j++)
            {
                for (int k = 0; k <= polynomialFeatures; k++)
                {
                    for (int m = 0; m <= k; m++)
                    {
                        Vector v = (Xtemp[j, VectorType.Col].ToVector() ^ (double)(k - m)) * (Xtemp[j + 1, VectorType.Col] ^ (double)m).ToVector();
                        Xtemp = Xtemp.Insert(v, Xtemp.Cols - 1, VectorType.Col);
                    }
                }
            }
            return Xtemp;
        }