Exemple #1
0
def test_Chained__init__():
    c1 = Chained(sgd1)
    c2 = Chained(sgd2)

    assert c1._name != c2._name
    assert Chained(sgd1)._name == c1._name

    with pytest.raises(TypeError):
        Chained("not an estimator")

    # No partial_fit
    lr = LogisticRegression()
    with pytest.raises(ValueError):
        Chained(lr)
Exemple #2
0
def test_fit_dask_matrix():
    X_bag = db.from_sequence([X_iris[0:20], X_iris[20:40], X_iris[40:]])
    y_bag = db.from_sequence([y_iris[0:20], y_iris[20:40], y_iris[40:]])
    X = dm.from_bag(X_bag)
    y = dm.from_bag(y_bag)

    c = Chained(sgd1)
    fit_test(c, X, y)
Exemple #3
0
def test_score():
    X = da.from_array(X_iris, chunks=4)
    y = da.from_array(y_iris, chunks=4)

    c = Chained(sgd1)
    fit = c.fit(X, y)

    s = fit.score(X_iris, y_iris)
    assert isinstance(s, Delayed)
    res = s.compute()
    assert isinstance(res, float)

    s = fit.score(X, y)
    assert isinstance(s, Delayed)
    res = s.compute()
    assert isinstance(res, float)

    will_error = c.score(X_iris, y_iris)
    with pytest.raises(NotFittedError):
        will_error.compute()
Exemple #4
0
def test_predict():
    X = da.from_array(X_iris, chunks=4)
    y = da.from_array(y_iris, chunks=4)

    c = Chained(sgd1)
    fit = c.fit(X, y)

    pred = fit.predict(X_iris)
    assert isinstance(pred, Delayed)
    res = pred.compute()
    assert isinstance(res, np.ndarray)

    pred = fit.predict(X)
    assert isinstance(pred, da.Array)
    res = pred.compute()
    assert isinstance(res, np.ndarray)

    will_error = c.predict(X_iris)
    with pytest.raises(NotFittedError):
        will_error.compute()
Exemple #5
0
def test_set_params():
    c = Chained(sgd1)
    c2 = c.set_params(penalty='l2')
    assert isinstance(c2, Chained)
    c3 = Chained(sgd2)
    assert c2._name == c3._name  # set_params name equivalent to init
    # Check no mutation
    assert c2.get_params()['penalty'] == 'l2'
    assert c2.compute().penalty == 'l2'
    assert c.get_params()['penalty'] == 'l1'
    assert c.compute().penalty == 'l1'
Exemple #6
0
def test_getattr():
    c = Chained(sgd1)
    assert c.penalty == sgd1.penalty
    with pytest.raises(AttributeError):
        c.not_a_real_parameter
Exemple #7
0
def test_setattr():
    c = Chained(sgd1)
    with pytest.raises(AttributeError):
        c.penalty = 'l2'
Exemple #8
0
def test_get_params():
    c = Chained(sgd1)
    assert c.get_params() == sgd1.get_params()
    assert c.get_params(deep=False) == sgd1.get_params(deep=False)
Exemple #9
0
def test__estimator_type():
    c = Chained(sgd1)
    assert c._estimator_type == sgd1._estimator_type
Exemple #10
0
def test_clone():
    c = Chained(sgd1)
    c2 = clone(c)
    assert isinstance(c2, Chained)
    assert c._name == c2._name
    assert c._est is not c2._est
Exemple #11
0
def test_tokenize_Chained():
    c1 = Chained(sgd1)
    c2 = Chained(sgd2)
    assert tokenize(c1) == tokenize(c1)
    assert tokenize(c1) != tokenize(c2)
    assert tokenize(c1) != tokenize(Wrapped(sgd1))
Exemple #12
0
def test_Chained_from_sklearn():
    c1 = Chained(sgd1)
    assert Chained.from_sklearn(sgd1)._name == c1._name
    assert Chained.from_sklearn(c1) is c1
Exemple #13
0
def test_fit_dask_array():
    X = da.from_array(X_iris, chunks=4)
    y = da.from_array(y_iris, chunks=4)

    c = Chained(sgd1)
    fit_test(c, X, y)
Exemple #14
0
def test_repr():
    c = Chained(sgd1)
    res = repr(c)
    assert res.startswith('Chained')
Exemple #15
0
def test_dir():
    c = Chained(sgd1)
    attrs = dir(c)
    assert 'penalty' in attrs