Exemplo n.º 1
0
 def test_fit_predict_2_layers_clf(self):
     model = Stack([layer_width2_clf, layer_width1_clf])
     X = np.array([[1, 1], [1, 1], [0, 0], [0, 0]])
     y = np.array([1, 1, 0, 0])
     model.fit(X, y)
     result = model.predict(np.array([[1, 1]]))
     assert result.shape == (1,)
     assert np.allclose(result, np.array([1]))
Exemplo n.º 2
0
 def test_fit_predict_2_layers_reg(self):
     model = Stack([layer_width2_reg, layer_width1_reg])
     X = np.array([[1, 1], [1, 2], [2, 2], [2, 3]])
     y = np.dot(X, np.array([1, 2])) + 3
     model.fit(X, y)
     result = model.predict(np.array([[3, 5],[3, 5]]))
     assert result.shape == (2,)
     assert np.allclose(result, np.array([16, 16]))
Exemplo n.º 3
0
 def test_fit_predict_stack_with_sklearn_folds(self):
     model = Stack([layer_width2_reg, layer_width1_reg], folds=KFold(2))
     X = np.array([[1, 1], [1, 2], [2, 2], [2, 3], [1, 1], [1, 2], [2, 2],
                   [2, 3]])
     y = np.dot(X, np.array([1, 2])) + 3
     model.fit(X, y)
     result = model.predict(np.array([[3, 5], [3, 5]]))
     assert result.shape == (2, )
     assert np.allclose(result, np.array([16, 16]))
Exemplo n.º 4
0
    def test_stack_copy_function_only_model(self):
        first_layer = Layer([LinearRegression(), LogisticRegression()])
        second_layer = Layer([LinearRegression()])
        model = Stack([first_layer, second_layer])

        X = np.array([[1, 1], [1, 2], [2, 2], [2, 3]])
        y = np.dot(X, np.array([1, 2])) + 3
        model.fit(X, y)
        model2 = model.copy()
        gotError = False
        try:
            model2.predict([1, 2])
        except (NotFittedError):
            gotError = True

        assert gotError, "Model failed the copy Test: When copying, a deep copy was produced"
Exemplo n.º 5
0
 def test_initialize_stack_with_custom_same_num_folds(self):
     model = Stack([layer_width2_clf, layer_width1_clf],
                   folds = [[0,1,2],[3,4,5]])
     assert len(model.folds) == 2
Exemplo n.º 6
0
 def test_initialize_stack_with_custom_different_num_folds(self):
     with pytest.raises(AssertionError) as record:
         model = Stack([layer_width2_clf, layer_width1_clf],
                       folds = [[0,1,2]])
         assert record
Exemplo n.º 7
0
 def test_initialize_stack_with_sklearn_same_num_folds(self):
     model = Stack([layer_width2_clf, layer_width1_clf],
                   folds = KFold(2))
     assert model.splitter.n_splits == 2
Exemplo n.º 8
0
 def test_initialize_stack_with_sklearn_different_num_folds(self):
     with pytest.warns(Warning) as record:
         model = Stack([layer_width2_clf, layer_width1_clf],
                       folds = KFold(5))
         assert record
         assert model.splitter.n_splits == 2