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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)