コード例 #1
0
    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))
コード例 #2
0
    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))
コード例 #3
0
    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)
コード例 #4
0
    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_
コード例 #5
0
    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))
コード例 #6
0
    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)
コード例 #7
0
ファイル: _test.py プロジェクト: stitchfix/ibex
    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)
コード例 #8
0
    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))
コード例 #9
0
ファイル: _test.py プロジェクト: stitchfix/ibex
    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)
コード例 #10
0
    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))
コード例 #11
0
ファイル: _test.py プロジェクト: stitchfix/ibex
 def test_direct_pipe_adapter(self):
     clf = pd_decomposition.PCA() | pd_linear_model.LinearRegression()
     unpickled_clf = pickle.loads(pickle.dumps(clf))
コード例 #12
0
ファイル: _test.py プロジェクト: stitchfix/ibex
 def __init__(self):
     self.prd = pd_linear_model.LinearRegression()
コード例 #13
0
ファイル: _test.py プロジェクト: stitchfix/ibex
_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(),
コード例 #14
0
 def setUpClass(cls):
     cls._prd = pd_linear_model.LinearRegression()
     cls._clf = pd_linear_model.LogisticRegression()
コード例 #15
0
 def test_make_pipeline(self):
     p = pd_pipeline.make_pipeline(pd_preprocessing.StandardScaler(),
                                   pd_linear_model.LinearRegression())