def test_predict(): from EvoDAG import RootGP y = cl.copy() mask = y == 0 y[mask] = 1 y[~mask] = -1 function_set = [ x for x in RootGP()._function_set if x.regression and x.nargs ] gp = RootGP(generations=np.inf, tournament_size=2, function_set=function_set, early_stopping_rounds=-1, classifier=False, remove_raw_inputs=False, seed=0, popsize=10).fit(X[:-10], y[:-10], test_set=X[-10:]) es = gp.population.estopping assert gp.decision_function().SSE(es.hy_test) == 0 hy_test = es.hy_test assert gp.decision_function(X=X[-10:]).SSE(hy_test) == 0 hy = gp.decision_function(X=X[-10:]) _ = gp.predict(X=X[-10:]) assert SparseArray.fromlist(_).SSE(hy) == 0 assert len(gp.Xtest)
def test_multiclass_decision_function(): from EvoDAG import RootGP y = cl.copy() gp = RootGP(generations=np.inf, tournament_size=2, early_stopping_rounds=-1, seed=0, popsize=100).fit(X, y, test_set=X) d = gp.decision_function() assert len(d) == np.unique(y).shape[0]
def test_predict(): from EvoDAG import RootGP 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=0, popsize=10).fit(X[:-10], y[:-10], test_set=X[-10:]) es = gp.population.estopping assert gp.decision_function().SSE(es.hy_test.boundaries()) == 0 hy_test = es.hy_test.boundaries() assert gp.decision_function(X=X[-10:]).SSE(hy_test) == 0 hy = gp.decision_function(X=X[-10:]) _ = gp.predict(X=X[-10:]) assert SparseArray.fromlist(_).SSE(hy.sign()) == 0 assert len(gp.Xtest)
def test_pickle_model(): from EvoDAG import RootGP import pickle 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=0, popsize=10).fit(X[:-10], y[:-10], test_set=X[-10:]) m = gp.model() hy = gp.decision_function(X=X[-10:]) m1 = pickle.loads(pickle.dumps(m)) hy1 = m1.decision_function(X=X[-10:]) assert hy.SSE(hy1) == 0
def test_pickle_model(): from EvoDAG import RootGP import pickle 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=0, multiple_outputs=True, popsize=10).fit(X[:-10], y[:-10], test_set=X[-10:]) m = gp.model() hy = gp.decision_function(X=X[-10:]) m1 = pickle.loads(pickle.dumps(m)) hy1 = m1.decision_function(X=X[-10:]) for a, b in zip(hy, hy1): assert a.SSE(b) == 0