def test_triple_add(self): X = pd.DataFrame({'a': [1, 2, 3], 'b': [2, 3, 4]}) y = pd.Series([1, 2, 3]) prd = pd_preprocessing.MinMaxScaler() | \ trans() + trans() + trans() | \ pd_linear_model.LinearRegression() y_hat = prd.fit(X, y).predict(X) self.assertTrue(isinstance(y_hat, pd.Series)) prd = pd_preprocessing.MinMaxScaler() | \ trans() + (trans() + trans()) | \ pd_linear_model.LinearRegression() y_hat = prd.fit(X, y).predict(X) self.assertTrue(isinstance(y_hat, pd.Series))
def test_pipe_fit(self): X = pd.DataFrame({'a': [1, 2, 3]}) y = pd.Series([1, 2, 3]) prd = pd_preprocessing.StandardScaler() | \ pd_preprocessing.StandardScaler() | \ pd_linear_model.LinearRegression() y_hat = prd.fit(X, y).predict(X) self.assertTrue(isinstance(y_hat, pd.Series)) prd = pd_preprocessing.StandardScaler() | \ (pd_preprocessing.StandardScaler() | \ pd_linear_model.LinearRegression()) y_hat = prd.fit(X, y).predict(X) self.assertTrue(isinstance(y_hat, pd.Series))
def test_neut(self): prd = linear_model.LinearRegression(fit_intercept=False) self.assertIn('get_params', dir(prd)) self.assertEqual(prd.get_params()['fit_intercept'], False) prd = pd_linear_model.LinearRegression(fit_intercept=False) self.assertIn('get_params', dir(prd)) self.assertEqual(prd.get_params()['fit_intercept'], False)
def test_getattr(self): x = pd.DataFrame({'a': [1, 2, 3]}) y = pd.Series([1, 2, 3]) prd = pd_linear_model.LinearRegression() with self.assertRaises(AttributeError): prd.coef_ prd.fit(x, y) prd.coef_
def test_pipeline_fit_internal_pd_stage(self): X = pd.DataFrame({'a': [1, 2, 3]}) y = pd.Series([1, 2, 3]) p = pd_pipeline.make_pipeline(pd_linear_model.LinearRegression()) self.assertTrue(isinstance(p, FrameMixin)) pd_p = frame(p) y_hat = pd_p.fit(X, y).predict(X) self.assertTrue(isinstance(y_hat, pd.Series))
def test_fit_predict(self): X = pd.DataFrame({'a': [1, 2, 3]}) y = pd.Series([1, 2, 3]) pd_y_hat = pd_linear_model.LinearRegression().fit(X, y).predict(X) self.assertTrue(isinstance(pd_y_hat, pd.Series)) y_hat = linear_model.LinearRegression().fit(X, y).predict(X) self.assertFalse(isinstance(y_hat, pd.Series)) np.testing.assert_equal(pd_y_hat, y_hat)
def test_fit_permute_cols(self): X = pd.DataFrame({'a': [1, 2, 3], 'b': [30, 23, 2]}) y = pd.Series([1, 2, 3]) pred = pd_linear_model.LinearRegression().fit(X, y) pd_y_hat = pred.predict(X[['b', 'a']]) self.assertTrue(isinstance(pd_y_hat, pd.Series)) y_hat = linear_model.LinearRegression().fit(X, y).predict(X) self.assertFalse(isinstance(y_hat, pd.Series)) np.testing.assert_equal(pd_y_hat, y_hat)
def test_pipeline_fit(self): X = pd.DataFrame({'a': [1, 2, 3]}) y = pd.Series([1, 2, 3]) # Tmp Ami - make verify that are framemixins p = pd_pipeline.make_pipeline(pd_linear_model.LinearRegression()) self.assertTrue(isinstance(p, FrameMixin)) pd_p = frame(p) pd_p = pd_p.fit(X, y) y_hat = pd_p.fit(X, y).predict(X) self.assertTrue(isinstance(y_hat, pd.Series))
def test_fit_bad_cols(self): X = pd.DataFrame({'a': [1, 2, 3], 'b': [30, 23, 2]}) y = pd.Series([1, 2, 3]) pred = pd_linear_model.LinearRegression().fit(X, y) y_hat = pred.predict(X) self.assertTrue(isinstance(y_hat, pd.Series)) X.rename(columns={'a': 'c'}, inplace=True) with self.assertRaises(KeyError): pred.predict(X)
def test_cross_val_predict(self): from ibex.sklearn import model_selection as pd_model_selection iris, features = _load_iris() n = 100 df = pd.DataFrame({ 'x': range(n), 'y': range(n), }, index=['i%d' % i for i in range(n)]) y_hat = pd_model_selection.cross_val_predict( pd_linear_model.LinearRegression(), df[['x']], df['y']) self.assertIsInstance(y_hat, pd.Series) self.assertEqual(len(y_hat), len(df))
def test_direct_pipe_adapter(self): clf = pd_decomposition.PCA() | pd_linear_model.LinearRegression() unpickled_clf = pickle.loads(pickle.dumps(clf))
def __init__(self): self.prd = pd_linear_model.LinearRegression()
_Xs.append(_iris[_features]) _ys.append(_iris['class']) _Xs.append(_iris[_features]) _ys.append(_iris['class'] == _iris['class'].values[0]) _iris = _iris.copy() _iris.index = ['i%d' % i for i in range(len(_iris))] _dataset_names.append('iris_str_index') _Xs.append(_iris[_features]) _ys.append(_iris['class']) _estimators = [] _estimators.append( (preprocessing.StandardScaler(), pd_preprocessing.StandardScaler(), True)) _estimators.append((decomposition.PCA(), pd_decomposition.PCA(), True)) _estimators.append((linear_model.LinearRegression(), frame(pd_linear_model.LinearRegression()), True)) _estimators.append((linear_model.LinearRegression(), pd_linear_model.LinearRegression(), True)) _estimators.append( (pipeline.make_pipeline(decomposition.PCA(), linear_model.LinearRegression()), pd_decomposition.PCA() | pd_linear_model.LinearRegression(), True)) _estimators.append( (pipeline.make_pipeline(feature_selection.SelectKBest(k=2), decomposition.PCA(), linear_model.LinearRegression()), pd_feature_selection.SelectKBest(k=2) | pd_decomposition.PCA() | pd_linear_model.LinearRegression(), True)) _estimators.append( (pipeline.make_pipeline(feature_selection.SelectKBest(k=2), decomposition.PCA(),
def setUpClass(cls): cls._prd = pd_linear_model.LinearRegression() cls._clf = pd_linear_model.LogisticRegression()
def test_make_pipeline(self): p = pd_pipeline.make_pipeline(pd_preprocessing.StandardScaler(), pd_linear_model.LinearRegression())