def test_schema_validation(self): trainable_16 = KNeighborsClassifier(n_neighbors=16) with self.assertRaises(jsonschema.ValidationError): _ = trainable_16.fit(self.train_X, self.train_y) trainable_15 = KNeighborsClassifier(n_neighbors=15) trained_15 = trainable_15.fit(self.train_X, self.train_y) _ = trained_15.predict(self.test_X)
def test_predict_proba(self): trainable = KNeighborsClassifier() iris = sklearn.datasets.load_iris() trained = trainable.fit(iris.data, iris.target) #with self.assertWarns(DeprecationWarning): predicted = trainable.predict_proba(iris.data) predicted = trained.predict_proba(iris.data)
def test_individual_op_freeze_trained(self): from lale.lib.sklearn import KNeighborsClassifier trainable = KNeighborsClassifier(n_neighbors=1) X = [[0.0], [1.0], [2.0]] y_old = [0.0, 0.0, 1.0] y_new = [1.0, 0.0, 0.0] liquid_old = trainable.fit(X, y_old) self.assertEqual(list(liquid_old.predict(X)), list(y_old)) liquid_new = liquid_old.fit(X, y_new) self.assertEqual(list(liquid_new.predict(X)), list(y_new)) frozen_old = trainable.fit(X, y_old).freeze_trained() self.assertFalse(liquid_old.is_frozen_trained()) self.assertTrue(frozen_old.is_frozen_trained()) self.assertEqual(list(frozen_old.predict(X)), list(y_old)) frozen_new = frozen_old.fit(X, y_new) self.assertEqual(list(frozen_new.predict(X)), list(y_old))
def test_individual_op_freeze_trained(self): from lale.lib.sklearn import KNeighborsClassifier with EnableSchemaValidation(): trainable = KNeighborsClassifier(n_neighbors=1) X = np.array([[0.0], [1.0], [2.0]]) y_old = np.array([0.0, 0.0, 1.0]) y_new = np.array([1.0, 0.0, 0.0]) liquid_old = trainable.fit(X, y_old) self.assertEqual(list(liquid_old.predict(X)), list(y_old)) liquid_new = liquid_old.fit(X, y_new) self.assertEqual(list(liquid_new.predict(X)), list(y_new)) frozen_old = trainable.fit(X, y_old).freeze_trained() self.assertFalse(liquid_old.is_frozen_trained()) self.assertTrue(frozen_old.is_frozen_trained()) self.assertEqual(list(frozen_old.predict(X)), list(y_old)) frozen_new = frozen_old.fit(X, y_new) self.assertEqual(list(frozen_new.predict(X)), list(y_old))
def test_with_multioutput_targets(self): from sklearn.datasets import make_classification, load_iris import numpy as np from sklearn.utils import shuffle X, y1 = make_classification(n_samples=10, n_features=100, n_informative=30, n_classes=3, random_state=1) y2 = shuffle(y1, random_state=1) y3 = shuffle(y1, random_state=2) Y = np.vstack((y1, y2, y3)).T trainable = KNeighborsClassifier() trained = trainable.fit(X, Y) predictions = trained.predict(X)
def test_trained_individual_op_freeze_trainable(self): from lale.lib.sklearn import KNeighborsClassifier from lale.operators import TrainedIndividualOp trainable = KNeighborsClassifier(n_neighbors=1) X = [[0.0], [1.0], [2.0]] y_old = [0.0, 0.0, 1.0] liquid = trainable.fit(X, y_old) self.assertIsInstance(liquid, TrainedIndividualOp) self.assertFalse(liquid.is_frozen_trainable()) self.assertIn('algorithm', liquid.free_hyperparams()) frozen = liquid.freeze_trainable() self.assertIsInstance(frozen, TrainedIndividualOp) self.assertTrue(frozen.is_frozen_trainable()) self.assertFalse(frozen.is_frozen_trained()) self.assertEqual(len(frozen.free_hyperparams()), 0)
def test_trained_individual_op_freeze_trainable(self): from lale.lib.sklearn import KNeighborsClassifier from lale.operators import TrainedIndividualOp with EnableSchemaValidation(): trainable = KNeighborsClassifier(n_neighbors=1) X = np.array([[0.0], [1.0], [2.0]]) y_old = np.array([0.0, 0.0, 1.0]) liquid = trainable.fit(X, y_old) self.assertIsInstance(liquid, TrainedIndividualOp) self.assertFalse(liquid.is_frozen_trainable()) self.assertIn("algorithm", liquid.free_hyperparams()) frozen = liquid.freeze_trainable() self.assertIsInstance(frozen, TrainedIndividualOp) self.assertTrue(frozen.is_frozen_trainable()) self.assertFalse(frozen.is_frozen_trained()) self.assertEqual(len(frozen.free_hyperparams()), 0)