Ejemplo n.º 1
0
        private static void Modificator(ITypizedDecorArray <INode <double> > z, IList <double[]> inSample, IList <double> exactResult, int iterationCount)
        {
            var alg = new RegressionAlgorithm(z.A.Node, inSample, exactResult);

            alg.Run(iterationCount);
            z.A.Replace(alg.GetResult());
        }
Ejemplo n.º 2
0
 public void TwoVarsTreeOps()
 {
     var service = new SampleGenerator(2, 3, 0.001);
     var formula = service.GetFormula();
     var noiseFormula = formula.Clone<INode>();
     NoisyConstants(noiseFormula);
     var alg = new RegressionAlgorithm(noiseFormula, service.InSamples, service.ExactResult);
     alg.Run();
     Assert.AreNotEqual(alg.GetResult(), null);
 }
Ejemplo n.º 3
0
 static void Main()
 {
     var generator = new SampleGenerator(2, 6, 0.001);
     var randomFormula = generator.GetFormula();
     Console.WriteLine(String.Format("Formula before noise constants: {0}", randomFormula));
     NoisyConstants(randomFormula);
     Console.WriteLine(String.Format("Formula after: {0}", randomFormula));
     var alg = new RegressionAlgorithm(randomFormula, generator.InSamples, generator.ExactResult);
     Console.WriteLine("Press any key to start regression...");
     Console.ReadKey();
     ConsoleGui.Run(alg, 5, "", 1000, 2);
     Console.WriteLine("Result: " + alg.GetResult());
     Console.ReadKey();
 }
Ejemplo n.º 4
0
        public static void Run(RegressionAlgorithm regressionAlgorithm, int iterationShowRate, String formula, int iterationCount = 1000, int iterationCursorPosition = 2)
        {
            Console.SetCursorPosition(0, iterationCursorPosition);
            Console.WriteLine("Functional: {0}", regressionAlgorithm.Formula);

            for (var count = 0; regressionAlgorithm.CurrentIteration < iterationCount; count++)
            {
                regressionAlgorithm.MakeIteration();
                if (count % iterationShowRate != 0)
                    continue;

                Console.SetCursorPosition(0, iterationCursorPosition+2);
                Console.WriteLine("Iteration #:\t{0}", regressionAlgorithm.CurrentIteration);
                Console.WriteLine("Constant set:\t[{0}]", string.Join(" ; ", regressionAlgorithm.InConstant));
                Console.WriteLine("ApproximationError:\t{0}", regressionAlgorithm.ApproximationError);
            }
        }
Ejemplo n.º 5
0
        public static void Run(RegressionAlgorithm alg, int iterationShowRate, String formula, int iterationCount = 1000, int iterationCursorPosition = 2)
        {
            Console.SetCursorPosition(0, iterationCursorPosition);
            Console.WriteLine("Functional: " + alg.Formula);

            for (var cnt = 0; ; cnt++)
            {
                alg.MakeIteration();
                if (cnt % iterationShowRate != 0) continue;
                Console.SetCursorPosition(0, iterationCursorPosition+2);
                Console.WriteLine("Iteration #:  " + alg.CurrentIteration);
                Console.WriteLine("Constant set:  " + "[" + string.Join(" ; ", alg.InConstant) + "]");
                Console.WriteLine("ApproximationError:    " + alg.ApproximationError);

                if (alg.CurrentIteration > iterationCount) break;
            }
        }
Ejemplo n.º 6
0
        static void Main()
        {
            var sampleGenerator = new SampleGenerator(2, 6, 0.001);
            var randomFormula = sampleGenerator.GetFormula();
            Console.WriteLine("Formula before making constants noisy: {0}", randomFormula);

            GenerateNoisyConstantsForNodeLeafes(randomFormula);
            Console.WriteLine("Formula after making constants noisy: {0}", randomFormula);

            Console.WriteLine("Press any key to start regression...");
            Console.ReadKey(true);

            var alg = new RegressionAlgorithm(randomFormula, sampleGenerator.InSamples, sampleGenerator.ExactResult);
            ConsoleGui.Run(alg, 5, "");

            Console.WriteLine("Result: {0}", alg.GetResult());
        }
Ejemplo n.º 7
0
 private static void Modificator(ITypizedDecorArray<INode<double>> z, IList<double[]> inSample, IList<double> exactResult, int iterationCount)
 {
     var alg = new RegressionAlgorithm(z.A.Node, inSample, exactResult);
     alg.Run(iterationCount);
     z.A.Replace(alg.GetResult());
 }