Ejemplo n.º 1
0
        public override IGeneratorConf getConf(int CountFeatures)
        {
            IGeneratorConf result = new InitBySamplesConfig();

            result.Init(CountFeatures);
            return(result);
        }
Ejemplo n.º 2
0
        public override int Run(string[] args)
        {
            Console.WriteLine("Start");
            fill_params(args);
            Console.WriteLine("Params get \nfile tra {0} \nfile name tst {1} ", file_learn, file_test);
            Class_learn_set = new SampleSet(file_learn);
            Class_learn_set = new SampleSet(file_learn);
            Console.WriteLine("Tra create");
            Class_test_set = new SampleSet(file_test);
            Console.WriteLine("Tst create");
            conf = new InitBySamplesConfig();
            conf.Init(Class_learn_set.CountVars);

            fill_conf();
            Console.WriteLine("Conf Filed");
            Class_Pittsburg = new PCFuzzySystem(Class_learn_set, Class_test_set);
            Console.WriteLine("Classifier created");
            generator = new GeneratorRulesBySamples();

            Class_Pittsburg = generator.Generate(Class_Pittsburg, conf);
            //         GeneratorRulesBySamples.InitRulesBySamples(Class_Pittsburg, func);
            //    SingletoneApproximate = generator.Generate(SingletoneApproximate, conf);
            Console.WriteLine("Gereration complite");

            PCFSUFSWriter.saveToUFS(Class_Pittsburg, file_out);
            Console.WriteLine("Saved");
            return(1);
        }
Ejemplo n.º 3
0
        public override int Run(string[] args)
        {
            Console.WriteLine("Start");
            fill_params(args);


            foreach (string filenametra in System.IO.Directory.GetFiles(file_learn, "*tra.dat", System.IO.SearchOption.AllDirectories))
            {
                string filenameTST = filenametra.Replace("tra.dat", "tst.dat");

                Console.WriteLine("Params get \nfile tra {0} \nfile name tst {1} ", filenametra, filenameTST);
                Class_learn_set = new SampleSet(filenametra);
                Console.WriteLine("Tra create");
                Class_test_set = new SampleSet(filenameTST);
                Console.WriteLine("Tst create");
                conf = new InitBySamplesConfig();
                conf.Init(Class_learn_set.CountVars);

                // fill_conf();
                conf.loadParams(confParams);

                file_out = filenametra.Replace("tra.dat", ((InitBySamplesConfig)conf).IBSTypeFunc.ToString() + "_out.ufs");
                Console.WriteLine("Conf Filed");
                Class_Pittsburg = new PCFuzzySystem(Class_learn_set, Class_test_set);
                Console.WriteLine("Classifier created");
                generator = new GeneratorRulesBySamples();

                Class_Pittsburg = generator.Generate(Class_Pittsburg, conf);
                Console.WriteLine("Generation complite");

                PCFSUFSWriter.saveToUFS(Class_Pittsburg, file_out);

                StreamWriter sw = new StreamWriter(Path.Combine(file_learn, ((InitBySamplesConfig)conf).IBSTypeFunc.ToString() + "_log.txt"), true);
                sw.WriteLine(filenametra + "\t" + Class_Pittsburg.ErrorLearnSamples(Class_Pittsburg.RulesDatabaseSet[0]));
                sw.WriteLine(filenameTST + "\t" + Class_Pittsburg.ErrorTestSamples(Class_Pittsburg.RulesDatabaseSet[0]));
                sw.Close();

                Console.WriteLine("Saved");
            }
            return(1);
        }
Ejemplo n.º 4
0
        public override PCFuzzySystem Generate(PCFuzzySystem Classifier, IGeneratorConf config)
        {
            PCFuzzySystem result = Classifier;

            //Filtre(result);

            InitBySamplesConfig config1 = config as InitBySamplesConfig;

            type_func = config1.IBSTypeFunc;
            calc_min_max_for_class(result.LearnSamplesSet);

            InitRulesBySamples(Classifier, type_func);

            result.RulesDatabaseSet[0].TermsSet.Trim();

            //Chiu(result);

            //Console.WriteLine("Обуч: " + Math.Round(result.ClassifyLearnSamples(result.RulesDatabaseSet[0]), 2));
            //Console.WriteLine("Тест: " + Math.Round(result.ClassifyTestSamples(result.RulesDatabaseSet[0]), 2));
            //Console.WriteLine();

            return(result);
        }