def test_pipeline_freeze_trained(self): from lale.lib.sklearn import MinMaxScaler, LogisticRegression trainable = MinMaxScaler() >> LogisticRegression() X = [[0.0], [1.0], [2.0]] y = [0.0, 0.0, 1.0] liquid = trainable.fit(X, y) frozen = liquid.freeze_trained() self.assertFalse(liquid.is_frozen_trained()) self.assertTrue(frozen.is_frozen_trained())
def test_trained_pipeline_freeze_trainable(self): from lale.lib.sklearn import MinMaxScaler, LogisticRegression from lale.operators import TrainedPipeline trainable = MinMaxScaler() >> LogisticRegression() X = [[0.0], [1.0], [2.0]] y = [0.0, 0.0, 1.0] liquid = trainable.fit(X, y) self.assertIsInstance(liquid, TrainedPipeline) self.assertFalse(liquid.is_frozen_trainable()) frozen = liquid.freeze_trainable() self.assertFalse(liquid.is_frozen_trainable()) self.assertTrue(frozen.is_frozen_trainable()) self.assertIsInstance(frozen, TrainedPipeline)
def test_get_named_pipeline(self): from lale.lib.lale import Hyperopt, OptimizeLast pipeline = MinMaxScaler() >> KNeighborsClassifier() trained_pipeline = pipeline.fit(self.X_train, self.y_train) hyperopt_args = {"cv": 3, "max_evals": 2} opt_last = OptimizeLast( estimator=trained_pipeline, last_optimizer=Hyperopt, optimizer_args=hyperopt_args, ) res_last = opt_last.fit(self.X_train, self.y_train) pipeline2 = res_last.get_pipeline(pipeline_name="p1") if pipeline2 is not None: trained_pipeline2 = pipeline2.fit(self.X_train, self.y_train) _ = trained_pipeline2.predict(self.X_test) self.assertEqual(type(trained_pipeline), type(trained_pipeline2))