Beispiel #1
0
        private IClassificationProblemData CreateDefaultProblem(int rows, int columns)
        {
            List <string> allowedInputVariables = Enumerable.Range(0, columns - 1).Select(x => "x" + x.ToString()).ToList();
            string        targetVariable        = "y";
            var           variableNames         = allowedInputVariables.Union(targetVariable.ToEnumerable());

            double[,] variableValues = new double[rows, columns];

            FastRandom random = new FastRandom(12345);
            int        len0   = variableValues.GetLength(0);
            int        len1   = variableValues.GetLength(1);

            for (int i = 0; i < len0; i++)
            {
                for (int j = 0; j < len1; j++)
                {
                    if (j == len1 - 1)
                    {
                        variableValues[i, j] = (j + i) % 2;
                    }
                    else
                    {
                        variableValues[i, j] = random.Next(1, 100);
                    }
                }
            }

            Dataset dataset = new Dataset(variableNames, variableValues);
            var     ret     = new ClassificationProblemData(dataset, allowedInputVariables, targetVariable);

            ret.SetClassName(0, "NOK");
            ret.SetClassName(1, "OK");
            return(ret);
        }
Beispiel #2
0
        private IClassificationProblemData CreateDefaultProblem()
        {
            List <string> allowedInputVariables = new List <string>()
            {
                "x1", "x2", "x3", "x4", "x5"
            };
            string targetVariable = "y";
            var    variableNames  = allowedInputVariables.Union(targetVariable.ToEnumerable());

            double[,] variableValues = new double[100, variableNames.Count()];

            FastRandom random = new FastRandom(12345);
            int        len0   = variableValues.GetLength(0);
            int        len1   = variableValues.GetLength(1);

            for (int i = 0; i < len0; i++)
            {
                for (int j = 0; j < len1; j++)
                {
                    if (j == len1 - 1)
                    {
                        variableValues[i, j] = (j + i) % 2;
                    }
                    else
                    {
                        variableValues[i, j] = random.Next(1, 100);
                    }
                }
            }

            Dataset dataset = new Dataset(variableNames, variableValues);
            var     ret     = new ClassificationProblemData(dataset, allowedInputVariables, targetVariable);

            ret.SetClassName(0, "NOK");
            ret.SetClassName(1, "OK");
            return(ret);
        }