public override IGeneratorConf getConf(int CountFeatures) { IGeneratorConf result = new InitBySamplesConfig(); result.Init(CountFeatures); return(result); }
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); }
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); }
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); }