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_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_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)
def _get_ml_model(self, cores_for_training: int = 2, X=None): return SklearnSVC(**self._parameters)