y = y.copy(order='C') yhat = yhat.copy(order='C') test_error = fitness_rmse(y, yhat) return (error, {'generation': 0, "evals": 1, "test_error": test_error}) def __str__(self): descr = "len(train):%d len(test):%d\n\n" % (len( self.__train_set), len(self.__test_set)) descr += "Training_set:\n" for i in self.__train_set[0:5]: descr += str(i) + "\n" descr += "Test_set:\n" for i in self.__test_set[0:5]: descr += str(i) + "\n" return descr if __name__ == "__main__": import core.grammar as grammar import core.sge from configs.standard import RUN, MAX_REC_LEVEL experience_name = "Supervised_learning_test/" grammar = grammar.Grammar("../grammars/keijzer6.bnf", 5) evaluation_function = Keijzer6(RUN) core.sge.evolutionary_algorithm(grammar=grammar, eval_func=evaluation_function, exp_name=experience_name)
self.matrix.append(list()) self.matrix_exc.append(list()) for j, col in enumerate(line): if col == "#": self.matrix[-1].append("food") self.matrix_exc[-1].append("food") elif col == ".": self.matrix[-1].append("empty") self.matrix_exc[-1].append("empty") elif col == "S": self.matrix[-1].append("empty") self.matrix_exc[-1].append("empty") self.row_start = self.row = i self.col_start = self.col = j self.dir = 1 self.matrix_row = len(self.matrix) self.matrix_col = len(self.matrix[0]) def setup(self, *args): self.random_number_generator = args[0] if __name__ == "__main__": import core.grammar as grammar import core.sge experience_name = "Ant/" grammar = grammar.Grammar("grammars/antgrammar.txt", 6, 17) evaluation_function = AntSimulator(650) core.sge.evolutionary_algorithm(grammar=grammar, eval_func=evaluation_function, exp_name=experience_name)
# if t_p == g_p: # # Perfect match. # error -= 1 # else: # # Imperfect match, find ASCII distance to match. # error -= 1.0 / float((1 + (abs(ord(t_p) - ord(g_p))))) # return (error, {}) def evaluate(self, individual): print "individual= %s" %(individual) try: error = edit_dis(individual, self.target) except: error=self.__invalid_fitness return (error, {}) if __name__ == "__main__": import core.grammar as grammar import core.sge from configs.standard import RUN , MAX_REC_LEVEL experience_name = "string_match/" grammar = grammar.Grammar("../grammars/string_match.bnf", 35) evaluation_function = String_match(RUN) core.sge.evolutionary_algorithm(grammar=grammar, eval_func=evaluation_function, exp_name=experience_name)
y = y.copy(order='C') yhat = yhat.copy(order='C') test_error = eval_f1_score(y, yhat) return (error, {'generation': 0, "evals": 1, "test_error": test_error}) def __str__(self): descr = "len(train):%d len(test):%d\n\n" % (len( self.__train_set), len(self.__test_set)) descr += "Training_set:\n" for i in self.__train_set[0:5]: descr += str(i) + "\n" descr += "Test_set:\n" for i in self.__test_set[0:5]: descr += str(i) + "\n" return descr if __name__ == "__main__": import core.grammar as grammar import core.sge from configs.standard import RUN, MAX_REC_LEVEL experience_name = "banknote/" grammar = grammar.Grammar("../grammars/banknote.bnf", 5) evaluation_function = Banknote(RUN) core.sge.evolutionary_algorithm(grammar=grammar, eval_func=evaluation_function, exp_name=experience_name)
parity = 1 for j in range(PARITY_FANIN_M): dividor /= 2 if value >= dividor: inputs[i][j] = 1 parity = int(not parity) value -= dividor else: inputs[i][j] = 0 outputs[i] = parity class Parity5(): def evaluate(self, individual): error = PARITY_SIZE_M for i, inpt in enumerate(inputs): res = eval(individual, dict(zip(input_names, inpt))) if res == outputs[i]: error -= 1 return (error, {}) if __name__ == "__main__": import core.grammar as grammar import core.sge experience_name = "5Parity/" grammar = grammar.Grammar("grammars/5_bit_parity_grammar.txt", 6, 17) evaluation_function = Parity5() core.sge.evolutionary_algorithm(grammar=grammar, eval_func=evaluation_function, exp_name=experience_name)
import os, sys sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../') from util.cython.interface import eval_parity class Parity_5: def evaluate(self, individual): error = eval_parity(individual, 5) return (error, {}) if __name__ == "__main__": import core.grammar as grammar import core.sge from configs.standard import MAX_REC_LEVEL experience_name = "Parity5/" grammar = grammar.Grammar("../grammars/parity5.bnf", 5) evaluation_function = Parity_5() core.sge.evolutionary_algorithm(grammar=grammar, eval_func=evaluation_function, exp_name=experience_name)
if individual == None: return None error = self.get_error(individual, self.__train_set) error = _sqrt_(error / self.__RRSE_train_denominator) test_error = self.get_error(individual, self.__test_set) test_error = _sqrt_(test_error / float(self.__RRSE_test_denominator)) return (error, {'generation': 0, "evals": 1, "test_error": test_error}) def __str__(self): descr = "len(train):%d len(test):%d\n\n" % (len( self.__train_set), len(self.__test_set)) descr += "Training_set:\n" for i in self.__train_set[0:5]: descr += str(i) + "\n" descr += "Test_set:\n" for i in self.__test_set[0:5]: descr += str(i) + "\n" return descr if __name__ == "__main__": import core.grammar as grammar import core.sge from configs.standard import RUN experience_name = "BostonHousing/" grammar = grammar.Grammar("grammars/boston_housing_grammar.txt", 5) evaluation_function = BostonHousing(RUN) core.sge.evolutionary_algorithm(grammar=grammar, eval_func=evaluation_function, exp_name=experience_name)
y = y.copy(order='C') yhat = yhat.copy(order='C') test_error = fitness_rmse(y, yhat) return (error, {'generation': 0, "evals": 1, "test_error": test_error}) def __str__(self): descr = "len(train):%d len(test):%d\n\n" % (len( self.__train_set), len(self.__test_set)) descr += "Training_set:\n" for i in self.__train_set[0:5]: descr += str(i) + "\n" descr += "Test_set:\n" for i in self.__test_set[0:5]: descr += str(i) + "\n" return descr if __name__ == "__main__": import core.grammar as grammar import core.sge from configs.standard import RUN, MAX_REC_LEVEL experience_name = "Supervised_learning_test/" grammar = grammar.Grammar("../grammars/vladislavleva4.bnf", 5) evaluation_function = Supervised_learning(RUN) core.sge.evolutionary_algorithm(grammar=grammar, eval_func=evaluation_function, exp_name=experience_name)
y = y.copy(order='C') yhat = yhat.copy(order='C') test_error = fitness_rmse(y, yhat) return (error, {'generation': 0, "evals": 1, "test_error": test_error}) def __str__(self): descr = "len(train):%d len(test):%d\n\n" % (len( self.__train_set), len(self.__test_set)) descr += "Training_set:\n" for i in self.__train_set[0:5]: descr += str(i) + "\n" descr += "Test_set:\n" for i in self.__test_set[0:5]: descr += str(i) + "\n" return descr if __name__ == "__main__": import core.grammar as grammar import core.sge from configs.standard import RUN, MAX_REC_LEVEL experience_name = "housing/" grammar = grammar.Grammar("../grammars/housing.txt", 5) evaluation_function = Housing(RUN) core.sge.evolutionary_algorithm(grammar=grammar, eval_func=evaluation_function, exp_name=experience_name)
# GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with DEAP. If not, see <http://www.gnu.org/licenses/>. """ import os, sys sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../') from util.cython.interface import eval_multiplexer class Multiplexer_11: def evaluate(self, individual): """ SOLUTION="( i3 and ( not i2 ) and ( not i1 ) and ( not i0 ) ) or ( i4 and ( not i2 ) and ( not i1 ) and ( i0 ) ) or ( i5 and ( not i2 ) and ( i1 ) and ( not i0 )) or ( i6 and ( not i2 ) and ( i1 ) and ( i0 ) ) or ( i7 and i2 and not( i1 ) and not ( i0 ) ) or ( i8 and i2 and ( not i1 ) and i0 ) or ( i9 and i2 and i1 and ( not i0 ) ) or ( i10 and i2 and i1 and i0 )" """ error = eval_multiplexer(individual, 3) return (error, {}) if __name__ == "__main__": import core.grammar as grammar import core.sge from configs.standard import MAX_REC_LEVEL experience_name = "Mux11/" grammar = grammar.Grammar("../grammars/mux11.bnf", 5) evaluation_function = Multiplexer_11() core.sge.evolutionary_algorithm(grammar=grammar, eval_func=evaluation_function, exp_name=experience_name)
if individual == None: return None error = self.get_error(individual, self.__train_set) error = _sqrt_(error / self.__RRSE_train_denominator) if error == None: error = self.__invalid_fitness if self.__test_set != None: test_error = 0 test_error = self.get_error(individual, self.__test_set) test_error = _sqrt_(test_error / float(self.__RRSE_test_denominator)) return (error, {'generation': 0, "evals": 1, "test_error": test_error}) def setup(self, *args): self.random_number_generator = args[0] if __name__ == "__main__": import core.grammar as grammar import core.sge experience_name = "Regression/" grammar = grammar.Grammar("grammars/regression.txt", 5) evaluation_function = SymbolicRegression() core.sge.evolutionary_algorithm(grammar=grammar, eval_func=evaluation_function, exp_name=experience_name)
self.matrix.append(list()) self.matrix_exc.append(list()) for j, col in enumerate(line): if col == "#": self.matrix[-1].append("food") self.matrix_exc[-1].append("food") elif col == ".": self.matrix[-1].append("empty") self.matrix_exc[-1].append("empty") elif col == "S": self.matrix[-1].append("empty") self.matrix_exc[-1].append("empty") self.row_start = self.row = i self.col_start = self.col = j self.dir = 1 self.matrix_row = len(self.matrix) self.matrix_col = len(self.matrix[0]) def setup(self, *args): self.random_number_generator = args[0] if __name__ == "__main__": import core.grammar as grammar import core.sge experience_name = "Ant/" grammar = grammar.Grammar("../grammars/antgrammar.txt", 5) evaluation_function = AntSimulator(650) core.sge.evolutionary_algorithm(grammar = grammar, eval_func=evaluation_function, exp_name=experience_name)
parity = 1 for j in range(PARITY_FANIN_M): dividor /= 2 if value >= dividor: inputs[i][j] = 1 parity = int(not parity) value -= dividor else: inputs[i][j] = 0 outputs[i] = parity class Parity5(): def evaluate(self, individual): error = PARITY_SIZE_M for i, inpt in enumerate(inputs): res = eval(individual, dict(zip(input_names, inpt))) if res == outputs[i]: error -= 1 return (error, {}) if __name__ == "__main__": import core.grammar as grammar import core.sge experience_name = "5Parity/" grammar = grammar.Grammar("../grammars/5_bit_parity_grammar.txt", 5) evaluation_function = Parity5() core.sge.evolutionary_algorithm(grammar=grammar, eval_func=evaluation_function, exp_name=experience_name)
import os, sys sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../') from util.cython.interface import eval_max_py class MAX_PY: def evaluate(self, individual): # print(individual) error = eval_max_py(individual) return (error, {}) if __name__ == "__main__": import core.grammar as grammar import core.sge import os from configs.standard import MAX_REC_LEVEL experience_name = "max_py/" grammar = grammar.Grammar("../grammars/max_py.bnf", 5) evaluation_function = MAX_PY() core.sge.evolutionary_algorithm(grammar=grammar, eval_func=evaluation_function, exp_name=experience_name)
indexOutput += k * 2**j outputs[i] = inputs[i][indexOutput] to_evaluate = [dict(zip(input_names, i)) for i in inputs] class Multiplexer_11: def evaluate(self, individual): """ SOLUTION = "(i0 and (not s2) and (not s1) and (not s0)) or (i1 and (not s2) and (not s1) and (s0)) or (i2 and (not s2) and (s1) and (not s0)) or (i3 and (not s2) and (s1) and (s0)) or (i4 and s2 and not(s1) and not(s0)) or (i5 and s2 and (not s1) and s0) or (i6 and s2 and s1 and (not s0)) or (i7 and s2 and s1 and s0)" """ error = len(inputs) program = compile("res = " + individual, '<string>', 'exec') for i, variables in enumerate(to_evaluate): exec program in variables res = variables['res'] if res == outputs[i]: error -= 1 return (error, {}) if __name__ == "__main__": import core.grammar as grammar import core.sge experience_name = "Mux11/" grammar = grammar.Grammar("grammars/mux11_grammar.txt", 5) evaluation_function = Multiplexer_11() core.sge.evolutionary_algorithm(grammar=grammar, eval_func=evaluation_function, exp_name=experience_name)
elif yhat.size == 1: # for the problem that yhat is ndarray but size is 1 yhat = np.full(np.shape(y), yhat, dtype=float) y = y.copy(order='C') yhat = yhat.copy(order='C') test_error = fitness_rmse(y,yhat) return (error, {'generation': 0, "evals": 1, "test_error": test_error}) def __str__(self): descr = "len(train):%d len(test):%d\n\n" % (len(self.__train_set), len(self.__test_set)) descr += "Training_set:\n" for i in self.__train_set[0:5]: descr += str(i) + "\n" descr += "Test_set:\n" for i in self.__test_set[0:5]: descr += str(i) + "\n" return descr if __name__ == "__main__": import core.grammar as grammar import core.sge from configs.standard import RUN,MAX_REC_LEVEL experience_name = "Supervised_learning_test/" grammar = grammar.Grammar("../grammars/pagie.bnf", 5) evaluation_function = Paige(RUN) core.sge.evolutionary_algorithm(grammar=grammar, eval_func=evaluation_function, exp_name=experience_name)
from .model_evaluator import train_model import datetime class LRScheduler: def __init__(self): pass def evaluate(self, phen): #value = train_model(phen) #return 1 - 0.2, '' value = train_model("0.0") return value if __name__ == "__main__": import core.grammar as grammar import core.sge experience_name = "LR" + str(datetime.datetime.now()) + "/" grammar = grammar.Grammar("grammars/grammar_proposal.txt", 6, 17) evaluation_function = LRScheduler() core.sge.evolutionary_algorithm(grammar=grammar, eval_func=evaluation_function, exp_name=experience_name)
import os, sys sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../') from util.cython.interface import eval_ant class ANT: def evaluate(self, individual): """ SOLUTION = "ifa begin mv end begin tl ifa begin mv end begin tr end tr ifa begin mv end begin tl end mv end" """ # print(individual) error = eval_ant(individual) return (error, {}) if __name__ == "__main__": import core.grammar as grammar import core.sge import os from configs.standard import MAX_REC_LEVEL experience_name = "ant/" grammar = grammar.Grammar("../grammars/ant.bnf", 5) evaluation_function = ANT() core.sge.evolutionary_algorithm(grammar=grammar, eval_func=evaluation_function, exp_name=experience_name)