コード例 #1
0
        private void AnalystCommand()
        {
            String egaFile;
            String task;

            if (_cmd.Args.Count == 0)
            {
                Console.WriteLine(@"Must specify the EGA file to run");
                return;
            }

            if (_cmd.Args.Count == 1)
            {
                egaFile = _cmd.Args[0];
                task    = "task-full";
            }
            else
            {
                egaFile = _cmd.Args[0];
                task    = _cmd.Args[1];
            }

            _sw.Start();
            var analyst = new EncogAnalyst();

            analyst.AddAnalystListener(new ConsoleAnalystListener());
            analyst.Load(new FileInfo(egaFile));
            analyst.ExecuteTask(task);
        }
コード例 #2
0
        public void TestClassification()
        {
            FileInfo rawFile    = TEMP_DIR.CreateFile("simple.csv");
            FileInfo egaFile    = TEMP_DIR.CreateFile("simple.ega");
            FileInfo outputFile = TEMP_DIR.CreateFile("simple_output.csv");

            FileUtil.CopyResource("simple.csv", rawFile);
            FileUtil.CopyResource("simple.ega", egaFile);

            EncogAnalyst analyst = new EncogAnalyst();

            analyst.AddAnalystListener(new ConsoleAnalystListener());
            analyst.Load(egaFile);

            analyst.ExecuteTask("task-full");

            ReadCSV csv = new ReadCSV(outputFile.ToString(), true, CSVFormat.English);

            while (csv.Next())
            {
                Assert.AreEqual(csv.Get(3), csv.Get(4));
            }

            Assert.AreEqual(4, analyst.Script.Fields.Length);
            Assert.AreEqual(3, analyst.Script.Fields[3].ClassMembers.Count);

            csv.Close();
        }
コード例 #3
0
        public void TestRegression()
        {
            FileInfo rawFile    = TEMP_DIR.CreateFile("EncogCSharp/Resources/simple.csv");
            FileInfo egaFile    = TEMP_DIR.CreateFile("EncogCSharp/Resources/simple.ega");
            FileInfo outputFile = TEMP_DIR.CreateFile("EncogCSharp/Resources/simple_output.csv");

            FileUtil.CopyResource("EncogCSharp/Resources/simple.csv", rawFile);
            FileUtil.CopyResource("EncogCSharp/Resources/simple-r.ega", egaFile);

            EncogAnalyst analyst = new EncogAnalyst();

            analyst.Load(egaFile);

            analyst.ExecuteTask("task-full");

            ReadCSV csv = new ReadCSV(outputFile.ToString(), true, CSVFormat.English);

            while (csv.Next())
            {
                double diff = Math.Abs(csv.GetDouble(2) - csv.GetDouble(4));
                Assert.IsTrue(diff < 1.5);
            }

            Assert.AreEqual(4, analyst.Script.Fields.Length);
            Assert.AreEqual(3, analyst.Script.Fields[3].ClassMembers.Count);

            csv.Close();
        }
コード例 #4
0
        public void Process(double maxError)
        {
            int    cycles = 0;
            double e;

            if (ConsoleOutput)
            {
                EncogAnalyst.AddAnalystListener(new ConsoleAnalystListener());
            }

            do
            {
                EncogAnalyst.ExecuteTask("task-full");
                e = CalculateError();
                cycles++;
            } while (cycles <= MaxCycles && e > maxError);

            Assert.IsTrue(cycles <= MaxCycles, "Too many cycles to perform successful train.");
        }
コード例 #5
0
        public void IrisExample(FileInfo dir)
        {
            Console.WriteLine("Starting Iris dataset example.");
            var      url         = new Uri(IRIS_SOURCE);
            FileInfo analystFile = FileUtil.CombinePath(dir, "iris.ega");
            FileInfo rawFile     = FileUtil.CombinePath(dir, "iris_raw.csv");

            var encog = new EncogAnalyst();

            encog.AddAnalystListener(new ConsoleAnalystListener());
            var wiz = new AnalystWizard(encog);

            wiz.Wizard(url, analystFile, rawFile, false, AnalystFileFormat.DecpntComma);
            encog.Save(analystFile);

            encog.ExecuteTask("task-full");

            var report = new AnalystReport(encog);

            report.ProduceReport(FileUtil.CombinePath(dir, "report.html"));
        }
コード例 #6
0
        public void ForestExample(FileInfo dir)
        {
            Console.WriteLine("Starting forest cover dataset example.");
            var      url         = new Uri(FOREST_SOURCE);
            FileInfo analystFile = FileUtil.CombinePath(dir, "forest.ega");
            FileInfo rawFile     = FileUtil.CombinePath(dir, "forest_raw.csv");

            var encog = new EncogAnalyst();

            encog.AddAnalystListener(new ConsoleAnalystListener());
            var wiz = new AnalystWizard(encog);

            wiz.TaskBalance = true;

            wiz.Wizard(url, analystFile, rawFile, false, AnalystFileFormat.DecpntComma);
            encog.MaxIteration = 300;
            encog.ExecuteTask("task-full");

            encog.Save(analystFile);

            var report = new AnalystReport(encog);

            report.ProduceReport(FileUtil.CombinePath(dir, "report.html"));
        }