コード例 #1
0
ファイル: test_node.py プロジェクト: mgraffg/EvoDAG
def test_node_add():
    gp, args = create_problem_node()
    n = Add(list(range(len(args))), ytr=gp._ytr, mask=gp._mask)
    coef = n.compute_weight([x.hy for x in args])
    assert n.eval(args)
    # a = map(lambda (a, b): a.hy * b, zip(args, coef))
    a = [a.hy * b for a, b in zip(args, coef)]
    r = n.cumsum(a)
    assert n.hy.SSE(r) == 0
    assert n.hy_test.SSE(r) == 0
コード例 #2
0
def test_node_add():
    gp, args = create_problem_node()
    n = Add(list(range(len(args))), ytr=gp._ytr, mask=gp._mask)
    D = np.array([tonparray(i.hy) for i in args]).T
    coef = n.compute_weight([x.hy for x in args])
    assert n.eval(args)
    # a = map(lambda (a, b): a.hy * b, zip(args, coef))
    a = [_a.hy * b for _a, b in zip(args, coef)]
    r = n.cumsum(a)
    print((D * coef).sum(axis=1)[:4], "*")
    print(tonparray(n.hy)[:4])
    print(tonparray(r)[:4])
    print(tonparray(gp._mask)[:4])
    assert n.hy.SSE(r) == 0
    assert n.hy_test.SSE(r) == 0
コード例 #3
0
ファイル: test_model.py プロジェクト: mgraffg/EvoDAG
def test_ensemble():
    from EvoDAG import RootGP
    from EvoDAG.model import Ensemble
    from EvoDAG.node import Add
    y = cl.copy()
    gps = [RootGP(generations=np.inf,
                  tournament_size=2,
                  early_stopping_rounds=-1,
                  seed=seed,
                  popsize=10).fit(X[:-10],
                                  y[:-10],
                                  test_set=X)
           for seed in range(2, 5)]
    ens = Ensemble([gp.model() for gp in gps])
    res = [gp.decision_function() for gp in gps]
    res = [Add.cumsum([x[j] for x in res]) for j in range(3)]
    res = [x / 3. for x in res]
    r2 = ens.decision_function(None)
    for a, b in zip(res, r2):
        assert a.SSE(b) == 0
    r2 = ens.predict(None)
コード例 #4
0
def test_ensemble():
    from EvoDAG import RootGP
    from EvoDAG.model import Ensemble
    from EvoDAG.node import Add
    y = cl.copy()
    gps = [
        RootGP(generations=np.inf,
               tournament_size=2,
               early_stopping_rounds=-1,
               seed=seed,
               multiple_outputs=True,
               popsize=10).fit(X[:-10], y[:-10], test_set=X)
        for seed in range(2, 5)
    ]
    ens = Ensemble([gp.model() for gp in gps])
    res = [gp.decision_function() for gp in gps]
    res = [Add.cumsum([x[j] for x in res]) for j in range(3)]
    res = [x * (1 / 3.) for x in res]
    r2 = ens.decision_function(None)
    for a, b in zip(res, r2):
        print(a.SSE(b), a.data, b.data, b.full_array())
        assert a.SSE(b) == 0
コード例 #5
0
ファイル: test_model.py プロジェクト: mgraffg/EvoDAG
def test_ensemble_model():
    from EvoDAG import RootGP
    from EvoDAG.model import Ensemble
    from EvoDAG.node import Add
    y = cl.copy()
    mask = y == 0
    y[mask] = 1
    y[~mask] = -1
    gps = [RootGP(generations=np.inf,
                  tournament_size=2,
                  early_stopping_rounds=-1,
                  seed=seed,
                  popsize=10).fit(X[:-10],
                                  y[:-10],
                                  test_set=X)
           for seed in range(3)]
    ens = Ensemble([gp.model() for gp in gps])
    res = [gp.decision_function() for gp in gps]
    res = Add.cumsum(res) / 3
    r2 = ens.decision_function(None)
    assert res.SSE(r2) == 0
    a = SparseArray.fromlist(ens.predict(None))
    assert r2.sign().SSE(a) == 0