def test(self): txt = """ @relation concrete @attribute Cement real [102.0, 540.0] @attribute BlastFurnaceSlag real [0.0, 359.4] @attribute FlyAsh real [0.0, 200.100006] @attribute Water real [121.8, 247.0] @attribute Superplasticizer real [0.0, 32.200001] @attribute CoarseAggregate real [801.0, 1145.0] @attribute FineAggregate real [594.0, 992.6] @attribute Age integer [1, 365] @attribute ConcreteCompressiveStrength real [2.33, 82.6] @inputs Cement, BlastFurnaceSlag, FlyAsh, Water, Superplasticizer, CoarseAggregate, FineAggregate, Age @outputs ConcreteCompressiveStrength @data 252.000000, 0.000000, 0.000000, 185.000000, 0.000000, 1111.000000, 784.000000, 7.000000, 13.710000 295.799988, 0.000000, 0.000000, 185.699997, 0.000000, 1091.400024, 769.299988, 7.000000, 14.840000 252.300003, 0.000000, 98.800003, 146.300003, 14.200000, 987.799988, 889.000000, 3.000000, 21.780001 """ print parse_data(txt) vars, out_var, data = create_from_data(txt) self.assertEqual(vars[0].name, "Cement") self.assertEqual(vars[0].min, 102) self.assertEqual(vars[0].max, 540) self.assertEqual(vars[1].name, "BlastFurnaceSlag") self.assertEqual(vars[1].min, 0) self.assertEqual(vars[1].max, 359.4)
progressbar = ProgressBar() def progress_callback(v): progressbar.updateAmount(v) progressbar.draw() pass fs_weights = dict() for i in xrange(1, 6): fname_base = "D:\\data\\diabets\\diabetes-5-%s%s.dat" print "================SET %s=================" % i tr_f_name = fname_base % (i, "tra") vars, out_var, tr_data = create_from_data(open(tr_f_name, 'r').read()) for j in xrange(3): print "================FS %s=================" % j for var in vars: TriangleTerm("", 0, 1, 2).distribute_copies_on_var(var, 5, True, 1) tr_data_sub_set = tr_data[i::3] fs = SingleTone(vars, None, out_var) fsd = AutoLSMDecorator(fs, tr_data_sub_set) bb = FuzzySystemBlackBox(tr_data_sub_set, calc_rmse, out_var, fsd) # bb = FuzzySystemBlackBox(tr_data, calc_rmse, out_var, fs) before = bb.get_target_value() print "run ga" genetic_alg(bb, progress_callback, 50) after = bb.get_target_value()