상속: Encog.App.Analyst.CSV.Basic.BasicFile
        /// <inheritdoc />
        public override sealed bool ExecuteCommand(String args)
        {
            // get filenames
            String sourceID = Prop.GetPropertyString(
                ScriptProperties.NormalizeConfigSourceFile);
            String targetID = Prop.GetPropertyString(
                ScriptProperties.NormalizeConfigTargetFile);

            FileInfo sourceFile = Script.ResolveFilename(sourceID);
            FileInfo targetFile = Script.ResolveFilename(targetID);

            EncogLogging.Log(EncogLogging.LevelDebug, "Beginning normalize");
            EncogLogging.Log(EncogLogging.LevelDebug, "source file:" + sourceID);
            EncogLogging.Log(EncogLogging.LevelDebug, "target file:" + targetID);

            // mark generated
            Script.MarkGenerated(targetID);

            // get formats
            CSVFormat format = Script.DetermineFormat();

            // prepare to normalize
            var norm = new AnalystNormalizeCSV {Script = Script};
            Analyst.CurrentQuantTask = norm;
            norm.Report = new AnalystReportBridge(Analyst);

            bool headers = Script.ExpectInputHeaders(sourceID);
            norm.Analyze(sourceFile, headers, format, Analyst);
            norm.ProduceOutputHeaders = true;
            norm.Normalize(targetFile);
            Analyst.CurrentQuantTask = null;
            return norm.ShouldStop();
        }
        public void Execute(IExampleInterface app)
        {
            if (app.Args.Length != 2)
            {
                Console.WriteLine(@"Note: This example assumes that headers are present in the CSV files.");
                Console.WriteLine(@"NormalizeFile [input file] [target file]");
            }
            else
            {
                var sourceFile = new FileInfo(app.Args[0]);
                var targetFile = new FileInfo(app.Args[1]);

                var analyst = new EncogAnalyst();
                var wizard = new AnalystWizard(analyst);
                wizard.Wizard(sourceFile, true, AnalystFileFormat.DecpntComma);

                DumpFieldInfo(analyst);

                var norm = new AnalystNormalizeCSV();
                norm.Analyze(sourceFile, true, CSVFormat.English, analyst);
                norm.ProduceOutputHeaders = true;
                norm.Normalize(targetFile);
                EncogFramework.Instance.Shutdown();
            }
        }
        public static IMLDataSet LoadAndNormalizeData(FileInfo fileInfo, AnalystGoal problemType, NormalizationAction normalizationType, bool randomize = true)
        {
            var analyst = new EncogAnalyst();
            var wizard = new AnalystWizard(analyst);
            wizard.Goal = problemType;
            wizard.Wizard(fileInfo, true, AnalystFileFormat.DecpntComma);
            var fields = analyst.Script.Normalize.NormalizedFields;

            if (problemType == AnalystGoal.Classification)
                fields[fields.Count - 1].Action = normalizationType;

            var norm = new AnalystNormalizeCSV();
            norm.Analyze(fileInfo, true, CSVFormat.DecimalPoint, analyst);

            var normalizedDataFileInfo = new FileInfo("temp/temp.csv");
            norm.Normalize(normalizedDataFileInfo);

            var inputNeurons = fields.Count - 1;
            int outputNeurons;
            if (problemType == AnalystGoal.Classification)
                outputNeurons = fields.Last().Classes.Count - (normalizationType == NormalizationAction.Equilateral ? 1 : 0);
            else
                outputNeurons = fields.Count - inputNeurons;
            var result = CSVHelper.LoadCSVToDataSet(normalizedDataFileInfo, inputNeurons, outputNeurons, randomize);
            normalizedDataFileInfo.Delete();
            return result;
        }
        public static void Normalise(FileOps fileOps)
        {
            var analyst = new EncogAnalyst();

            var wizard = new AnalystWizard(analyst);
            wizard.Wizard(fileOps.BaseFile,true,AnalystFileFormat.DecpntComma);

            var norm = new AnalystNormalizeCSV{ProduceOutputHeaders = true};
            norm.Analyze(fileOps.TrainingFile, true, CSVFormat.English, analyst);
            norm.Normalize(fileOps.NormalisedTrainingFile);
            norm.Analyze(fileOps.EvaluationFile, true, CSVFormat.English, analyst);
            norm.Normalize(fileOps.NormalisedEvaluationFile);

            analyst.Save(fileOps.AnalystFile);
        }
예제 #5
0
        private void dataNormalization(string f1, string f2)
        {
            var sourceFile = new FileInfo(f1);
            var targetFile = new FileInfo(f2);
            var analyst = new EncogAnalyst();
            var wizard = new AnalystWizard(analyst);
            wizard.Wizard(sourceFile, true, AnalystFileFormat.DecpntComma);
            var norm = new AnalystNormalizeCSV();
            norm.Analyze(sourceFile, true, CSVFormat.English, analyst);

            norm.ProduceOutputHeaders = true;
            norm.Normalize(targetFile);

            analyst.Save(new FileInfo("stats.ega"));
            analyst.Load(new FileInfo("stats.ega"));
        }
        /// <summary>
        /// Program entry point.
        /// </summary>
        /// <param name="app">Holds arguments and other info.</param>
        public void Execute(IExampleInterface app)
        {
            Console.WriteLine("Running wizard...");
            var analyst = new EncogAnalyst();

            var wizard = new AnalystWizard(analyst);
            wizard.TargetFieldName = "field:1";
            wizard.Wizard(sourceCSV,
                false, AnalystFileFormat.DecpntComma);
            

            // customer id
            analyst.Script.Normalize.NormalizedFields[0].Action = Encog.Util.Arrayutil.NormalizationAction.PassThrough;

            var norm = new AnalystNormalizeCSV();
            norm.Report = new ConsoleStatusReportable();
            Console.WriteLine("Analyze for normalize...");
            norm.Analyze(sourceCSV, false, CSVFormat.English, analyst);
            norm.ProduceOutputHeaders = true;
            Console.WriteLine("Normalize...");
            norm.Normalize(targetCSV);
            analyst.Save(scriptEGA);
        }
        /// <summary>
        /// Metodo responsavel por normalizar as informacoes para adequar a execucao da rede neural
        /// </summary>
        private static void Normalization()
        {
            var analyst = new EncogAnalyst();

            var wizard = new AnalystWizard(analyst);
            wizard.Wizard(Config.ClassificationFile, true, AnalystFileFormat.DecpntComma);

            var norm = new AnalystNormalizeCSV();
            norm.Analyze(Config.TrainingClassificationFile, true, CSVFormat.English, analyst);
            norm.ProduceOutputHeaders = true;
            norm.Normalize(Config.NormalizedTrainingClassificationFile);

            norm.Analyze(Config.EvaluateClassificationFile, true, CSVFormat.English, analyst);
            norm.Normalize(Config.NormalizedEvaluateClassificationFile);

            analyst.Save(Config.AnalystClassificationFile);
        }
        public void Normalize(string outputFileName)
        {
            var norm = new AnalystNormalizeCSV();
            var source = new FileInfo(m_fileName);
            var target = new FileInfo(outputFileName);

            norm.Analyze(source, true, CSVFormat.English, m_analyst);

            norm.ProduceOutputHeaders = true;
            norm.Normalize(target);

            m_analyst.Save(String.Format("{0}.ega",
                outputFileName.Split('.')[0]));
        }
예제 #9
0
파일: Program.cs 프로젝트: jongh0/MTree
        private static void Normalize(string sourceFile, string targetFile)
        {
            var sourceFileInfo = new FileInfo(sourceFile);
            var targetFileInfo = new FileInfo(targetFile);

            var analyst = new EncogAnalyst();
            var wizard = new AnalystWizard(analyst);
            wizard.Goal = AnalystGoal.Unknown; // Default Classification으로하면 Wizard 동작 안함
            wizard.Wizard(sourceFileInfo, true, AnalystFileFormat.DecpntComma);

            var norm = new AnalystNormalizeCSV();
            norm.Analyze(sourceFileInfo, true, CSVFormat.English, analyst);
            norm.ProduceOutputHeaders = true;
            norm.Normalize(targetFileInfo);
        }
        /// <summary>
        /// Metodo responsavel por normalizar as informacoes para adequar a execucao da rede neural
        /// </summary>
        private static void Normalization()
        {
            var analyst = new EncogAnalyst();

            //Wizard
            var wizard = new AnalystWizard(analyst);
            wizard.Wizard(Config.RegressionFile, true, AnalystFileFormat.DecpntComma);

            //Cilindros
            analyst.Script.Normalize.NormalizedFields[0].Action = Encog.Util.Arrayutil.NormalizationAction.Equilateral;
            //displacement
            analyst.Script.Normalize.NormalizedFields[1].Action = Encog.Util.Arrayutil.NormalizationAction.Normalize;
            //HorsePower
            analyst.Script.Normalize.NormalizedFields[2].Action = Encog.Util.Arrayutil.NormalizationAction.Normalize;
            //Peso
            analyst.Script.Normalize.NormalizedFields[3].Action = Encog.Util.Arrayutil.NormalizationAction.Normalize;
            //Aceleração
            analyst.Script.Normalize.NormalizedFields[4].Action = Encog.Util.Arrayutil.NormalizationAction.Normalize;
            //Ano
            analyst.Script.Normalize.NormalizedFields[5].Action = Encog.Util.Arrayutil.NormalizationAction.Equilateral;
            //Origem
            analyst.Script.Normalize.NormalizedFields[6].Action = Encog.Util.Arrayutil.NormalizationAction.Equilateral;
            //Nome
            analyst.Script.Normalize.NormalizedFields[7].Action = Encog.Util.Arrayutil.NormalizationAction.Ignore;
            //MPG
            analyst.Script.Normalize.NormalizedFields[8].Action = Encog.Util.Arrayutil.NormalizationAction.Normalize;

            var norm = new AnalystNormalizeCSV();
            norm.ProduceOutputHeaders = true;

            norm.Analyze(Config.TrainingRegressionFile, true, CSVFormat.English, analyst);
            norm.Normalize(Config.NormalizedTrainingRegressionFile);

            //Norm of evaluation
            norm.Analyze(Config.EvaluateRegressionFile, true, CSVFormat.English, analyst);
            norm.Normalize(Config.NormalizedEvaluateRegressionFile);

            //save the analyst file
            analyst.Save(Config.AnalystRegressionFile);
        }
예제 #11
0
 public override sealed bool ExecuteCommand(string args)
 {
     string str2;
     FileInfo info;
     FileInfo info2;
     CSVFormat format;
     CSVFormat format2;
     AnalystNormalizeCSV ecsv;
     bool flag;
     string propertyString = base.Prop.GetPropertyString("NORMALIZE:CONFIG_sourceFile");
     if ((((uint) flag) + ((uint) flag)) <= uint.MaxValue)
     {
         str2 = base.Prop.GetPropertyString("NORMALIZE:CONFIG_targetFile");
         info = base.Script.ResolveFilename(propertyString);
         goto Label_017F;
     }
     if ((((uint) flag) | 2) != 0)
     {
         goto Label_017F;
     }
     Label_008B:
     flag = base.Script.ExpectInputHeaders(propertyString);
     Label_0099:
     ecsv.Analyze(info, flag, format, base.Analyst);
     ecsv.OutputFormat = format2;
     if ((((uint) flag) | 0x7fffffff) != 0)
     {
         ecsv.ProduceOutputHeaders = true;
         ecsv.Normalize(info2);
         base.Analyst.CurrentQuantTask = null;
     }
     return ecsv.ShouldStop();
     Label_017F:
     if ((((uint) flag) | 0x7fffffff) == 0)
     {
         goto Label_0099;
     }
     do
     {
         AnalystNormalizeCSV ecsv2;
         info2 = base.Script.ResolveFilename(str2);
         EncogLogging.Log(0, "Beginning normalize");
         EncogLogging.Log(0, "source file:" + propertyString);
         EncogLogging.Log(0, "target file:" + str2);
         base.Script.MarkGenerated(str2);
         if (2 != 0)
         {
             format = base.Script.DetermineInputFormat(propertyString);
             format2 = base.Script.DetermineOutputFormat();
             ecsv2 = new AnalystNormalizeCSV();
         }
         ecsv2.Script = base.Script;
         ecsv = ecsv2;
         base.Analyst.CurrentQuantTask = ecsv;
         ecsv.Report = new AnalystReportBridge(base.Analyst);
         if (((uint) flag) <= uint.MaxValue)
         {
             goto Label_008B;
         }
     }
     while (3 == 0);
     goto Label_017F;
 }