Example #1
0
 def test_not_normalized(self, dummy_data, monkeypatch):
     X, y, coef = dummy_data
     selector = ForwardSelector(normalize=False)
     mock_scaler = Mock()
     mock_scaler.fit_transform.return_value = X
     monkeypatch.setattr(selector, 'scaler', mock_scaler)
     final = selector.fit_transform(X, y)
     mock_scaler.fit_transform.assert_not_called()
Example #2
0
 def test_features_in(self, metric, n_params, dummy_train_test):
     X_train, X_test, y_train, y_test = dummy_train_test
     pl = Pipeline([('scaler', StandardScaler()),
                    ('selector', ForwardSelector(metric=metric)),
                    ('lr', LinearRegression())])
     pl.fit(X_train, y_train)
     expected_params = n_params
     actual_lr_features = pl['lr'].n_features_in_
     assert expected_params == actual_lr_features
Example #3
0
 def test_selected_params(self, metric, n_params, dummy_train_test):
     X_train, X_test, y_train, y_test = dummy_train_test
     pl = Pipeline([('scaler', StandardScaler()),
                    ('selector', ForwardSelector(metric=metric)),
                    ('lr', LinearRegression())])
     pl.fit(X_train, y_train)
     expected_params = n_params
     actual_params = pl['selector'].get_support().sum()
     assert actual_params == expected_params
Example #4
0
 def test_not_fitted(self):
     selector = ForwardSelector()
     with pytest.raises(NotFittedError):
         selector.get_support()
Example #5
0
 def test_fit_one_params(self, dummy_data_one_relevant):
     X, y, coef = dummy_data_one_relevant
     selector = ForwardSelector()
     final = selector.fit_transform(X, y)
     np.testing.assert_equal(coef * selector.best_support_, coef)
Example #6
0
 def test_fit_bic(self, dummy_data):
     X, y, coef = dummy_data
     selector = ForwardSelector(metric='bic')
     final = selector.fit_transform(X, y)
     np.testing.assert_equal(coef * selector.best_support_, coef)