Пример #1
0
 def test_pipeline_create(self):
     from lale.lib.sklearn import PCA, LogisticRegression
     from lale.operators import Pipeline
     pipeline = Pipeline(([('pca1', PCA()), ('lr1', LogisticRegression())]))
     trained = pipeline.fit(self.X_train, self.y_train)
     predictions = trained.predict(self.X_test)
     from sklearn.metrics import accuracy_score
     accuracy_score(self.y_test, predictions)
Пример #2
0
 def test_import_from_sklearn_pipeline2(self):
     from sklearn.feature_selection import SelectKBest
     from sklearn.feature_selection import f_regression
     from sklearn import svm
     from sklearn.pipeline import Pipeline
     anova_filter = SelectKBest(f_regression, k=3)
     clf = svm.SVC(kernel='linear')
     sklearn_pipeline = Pipeline([('anova', anova_filter), ('svc', clf)])
     sklearn_pipeline.fit(self.X_train, self.y_train)
     lale_pipeline = import_from_sklearn_pipeline(sklearn_pipeline)
     lale_pipeline.predict(self.X_test)
Пример #3
0
    def test_import_from_sklearn_pipeline2(self):
        from sklearn.feature_selection import SelectKBest, f_regression
        from sklearn.pipeline import Pipeline
        from sklearn.svm import SVC as SklearnSVC

        anova_filter = SelectKBest(f_regression, k=3)
        clf = SklearnSVC(kernel="linear")
        sklearn_pipeline = Pipeline([("anova", anova_filter), ("svc", clf)])
        sklearn_pipeline.fit(self.X_train, self.y_train)
        lale_pipeline = import_from_sklearn_pipeline(sklearn_pipeline)
        lale_pipeline.predict(self.X_test)
Пример #4
0
    def test_pipeline_create(self):
        from lale.operators import Pipeline

        pipeline = Pipeline(([("pca1", PCA()), ("lr1", LogisticRegression())]))
        trained = pipeline.fit(self.X_train, self.y_train)
        predictions = trained.predict(self.X_test)
        accuracy_score(self.y_test, predictions)
Пример #5
0
    def test_pipeline_clone(self):
        from sklearn.base import clone
        from lale.lib.sklearn import PCA, LogisticRegression
        from lale.operators import Pipeline
        pipeline = Pipeline(([('pca1', PCA()), ('lr1', LogisticRegression())]))
        trained = pipeline.fit(self.X_train, self.y_train)
        predictions = trained.predict(self.X_test)
        from sklearn.metrics import accuracy_score
        orig_acc = accuracy_score(self.y_test, predictions)

        cloned_pipeline = clone(pipeline)
        trained = cloned_pipeline.fit(self.X_train, self.y_train)
        predictions = trained.predict(self.X_test)
        from sklearn.metrics import accuracy_score
        cloned_acc = accuracy_score(self.y_test, predictions)
        self.assertEqual(orig_acc, cloned_acc)
Пример #6
0
 def test_import_from_sklearn_pipeline_noop1(self):
     from sklearn.pipeline import Pipeline
     from sklearn.ensemble import GradientBoostingClassifier
     from lale.helpers import import_from_sklearn_pipeline
     pipe = Pipeline([('noop', NoOp()),
                      ('gbc', GradientBoostingClassifier())])
     imported_pipeline = import_from_sklearn_pipeline(pipe)
Пример #7
0
 def test_import_from_sklearn_pipeline_noop(self):
     from sklearn.pipeline import Pipeline
     from sklearn.ensemble import GradientBoostingClassifier
     from lale.helpers import import_from_sklearn_pipeline
     pipe = Pipeline([('noop', None),
                      ('gbc', GradientBoostingClassifier())])
     with self.assertRaises(ValueError):
         imported_pipeline = import_from_sklearn_pipeline(pipe)
Пример #8
0
    def test_import_from_sklearn_pipeline3(self):
        from sklearn.feature_selection import SelectKBest, f_regression
        from sklearn.pipeline import Pipeline
        from sklearn.svm import SVC as SklearnSVC

        anova_filter = SelectKBest(f_regression, k=3)
        clf = SklearnSVC(kernel="linear")
        sklearn_pipeline = Pipeline([("anova", anova_filter), ("svc", clf)])
        lale_pipeline = import_from_sklearn_pipeline(sklearn_pipeline, fitted=False)
        with self.assertRaises(
            ValueError
        ):  # fitted=False returns a Trainable, so calling predict is invalid.
            lale_pipeline.predict(self.X_test)
Пример #9
0
 def test_import_from_sklearn_pipeline3(self):
     from sklearn.feature_selection import SelectKBest
     from sklearn.feature_selection import f_regression
     from sklearn import svm
     from sklearn.pipeline import Pipeline
     anova_filter = SelectKBest(f_regression, k=3)
     clf = svm.SVC(kernel='linear')
     sklearn_pipeline = Pipeline([('anova', anova_filter), ('svc', clf)])
     lale_pipeline = import_from_sklearn_pipeline(sklearn_pipeline,
                                                  fitted=False)
     with self.assertRaises(
             ValueError
     ):  #fitted=False returns a Trainable, so calling predict is invalid.
         lale_pipeline.predict(self.X_test)
Пример #10
0
    def test_pipeline_clone(self):
        from sklearn.base import clone

        from lale.operators import Pipeline

        pipeline = Pipeline(([("pca1", PCA()), ("lr1", LogisticRegression())]))
        trained = pipeline.fit(self.X_train, self.y_train)
        predictions = trained.predict(self.X_test)
        orig_acc = accuracy_score(self.y_test, predictions)

        cloned_pipeline = clone(pipeline)
        trained = cloned_pipeline.fit(self.X_train, self.y_train)
        predictions = trained.predict(self.X_test)
        cloned_acc = accuracy_score(self.y_test, predictions)
        self.assertEqual(orig_acc, cloned_acc)
Пример #11
0
 def test_import_from_sklearn_pipeline(self):
     from sklearn.feature_selection import SelectKBest
     from sklearn.feature_selection import f_regression
     from sklearn import svm
     from sklearn.pipeline import Pipeline
     anova_filter = SelectKBest(f_regression, k=3)
     clf = svm.SVC(kernel='linear')
     sklearn_pipeline = Pipeline([('anova', anova_filter), ('svc', clf)])
     lale_pipeline = import_from_sklearn_pipeline(sklearn_pipeline)
     for i, pipeline_step in enumerate(sklearn_pipeline.named_steps):
         sklearn_step_params = sklearn_pipeline.named_steps[
             pipeline_step].get_params()
         lale_sklearn_params = lale_pipeline.steps(
         )[i]._impl._wrapped_model.get_params()
         self.assertEqual(sklearn_step_params, lale_sklearn_params)
     self.assert_equal_predictions(sklearn_pipeline, lale_pipeline)
Пример #12
0
    def test_import_from_sklearn_pipeline(self):
        from sklearn.feature_selection import SelectKBest, f_regression
        from sklearn.pipeline import Pipeline
        from sklearn.svm import SVC as SklearnSVC

        anova_filter = SelectKBest(f_regression, k=3)
        clf = SklearnSVC(kernel="linear")
        sklearn_pipeline = Pipeline([("anova", anova_filter), ("svc", clf)])
        lale_pipeline = import_from_sklearn_pipeline(sklearn_pipeline)
        for i, pipeline_step in enumerate(sklearn_pipeline.named_steps):
            sklearn_step_params = sklearn_pipeline.named_steps[
                pipeline_step].get_params()
            lale_sklearn_params = lale_pipeline.steps(
            )[i]._impl._wrapped_model.get_params()
            self.assertEqual(sklearn_step_params, lale_sklearn_params)
        self.assert_equal_predictions(sklearn_pipeline, lale_pipeline)
Пример #13
0
    def test_import_from_sklearn_pipeline(self):
        from sklearn.feature_selection import SelectKBest, f_regression
        from sklearn.pipeline import Pipeline
        from sklearn.svm import SVC as SklearnSVC

        anova_filter = SelectKBest(f_regression, k=3)
        clf = SklearnSVC(kernel="linear")
        sklearn_pipeline = Pipeline([("anova", anova_filter), ("svc", clf)])
        lale_pipeline = typing.cast(
            lale.operators.TrainablePipeline,
            import_from_sklearn_pipeline(sklearn_pipeline),
        )
        for i, pipeline_step in enumerate(sklearn_pipeline.named_steps):
            sklearn_step_params = sklearn_pipeline.named_steps[
                pipeline_step].get_params()
            lale_sklearn_params = self.get_sklearn_params(
                lale_pipeline.steps_list()[i])
            self.assertEqual(sklearn_step_params, lale_sklearn_params)
        self.assert_equal_predictions(sklearn_pipeline, lale_pipeline)