def test_trace(): from EvoDAG import RootGP from EvoDAG.node import Add y = cl.copy() mask = y == 0 y[mask] = 1 y[~mask] = -1 Add.nargs = 3 gp = RootGP(generations=np.inf, tournament_size=2, function_set=[Add], classifier=False, early_stopping_rounds=-1, seed=0, popsize=4) gp.X = X[:-10] gp.Xtest = X[-10:] gp.y = y[:-10] gp.create_population() a = gp.random_offspring() gp.population.replace(a) print(a.position, a.variable, a._weight, gp.population.hist[0].variable) s = gp.trace(a) print(len(s), s) assert a._weight.shape[0] + 1 == len(s)
def test_model_hist(): from EvoDAG import RootGP from EvoDAG.base import Model y = cl.copy() mask = y == 0 y[mask] = 1 y[~mask] = -1 gp = RootGP(generations=np.inf, tournament_size=2, early_stopping_rounds=-1, seed=1, popsize=10).fit(X[:-10], y[:-10], test_set=X[-10:]) hist = gp.population.hist trace = gp.trace(gp.population.estopping) a = hist[trace[-1]].variable m = Model(trace, hist) print((m._map, a, m._hist[-1].variable)) for v1, v2 in zip(a, m._hist[-1].variable): assert m._map[v1] == v2
def test_trace(): from EvoDAG import RootGP from EvoDAG.node import Add y = cl.copy() mask = y == 0 y[mask] = 1 y[~mask] = -1 Add.nargs = 3 gp = RootGP(generations=np.inf, tournament_size=2, function_set=[Add], early_stopping_rounds=-1, seed=0, popsize=4) gp.X = X[:-10] gp.Xtest = X[-10:] gp.y = y[:-10] gp.create_population() a = gp.random_offspring() gp.population.replace(a) print(a.position, a.variable, a._weight, gp.population.hist[0].variable) s = gp.trace(a) assert len(s) == 4