def test_linear_regression_deserializer(self): linear_regression = LinearRegression(fit_intercept=True, normalize=False) linear_regression.mlinit(input_features='a', prediction_column='e') linear_regression.fit(self.df[['a']], self.df[['e']]) linear_regression.serialize_to_bundle(self.tmp_dir, linear_regression.name) # Test model.json with open("{}/{}.node/model.json".format( self.tmp_dir, linear_regression.name)) as json_data: model = json.load(json_data) # Now deserialize it back node_name = "{}.node".format(linear_regression.name) linear_regression_tf = LinearRegression() linear_regression_tf = linear_regression_tf.deserialize_from_bundle( self.tmp_dir, node_name) res_a = linear_regression.predict(self.df[['a']]) res_b = linear_regression_tf.predict(self.df[['a']]) self.assertEqual(res_a[0], res_b[0]) self.assertEqual(res_a[1], res_b[1]) self.assertEqual(res_a[2], res_b[2])
def test_linear_regression_serializer(self): linear_regression = LinearRegression(fit_intercept=True, normalize=False) linear_regression.mlinit(input_features='a', prediction_column='e') linear_regression.fit(self.df[['a']], self.df[['e']]) linear_regression.serialize_to_bundle(self.tmp_dir, linear_regression.name) # Test model.json with open("{}/{}.node/model.json".format( self.tmp_dir, linear_regression.name)) as json_data: model = json.load(json_data) self.assertEqual(model['op'], 'linear_regression') self.assertTrue(model['attributes']['intercept']['double'] is not None)
input_scalars = feature_cols, output_vector = 'unscaled_cont_features' ) # Vector Assembler, for serialization purposes only feature_extractor_lr_model_tf = FeatureExtractor( input_vectors = [feature_extractor_tf], output_vector = 'input_features' ) feature_extractor_lr_model_tf.skip_fit_transform = True # Define our linear regression lr_model = LinearRegression() lr_model.mlinit( input_features = 'input_features', prediction_column = 'prijs' ) lr_model_pipeline = Pipeline([ (feature_extractor_lr_model_tf.name, feature_extractor_lr_model_tf), (lr_model.name, lr_model) ]) lr_model_pipeline.mlinit() model_pipeline = Pipeline([ (feature_union.name, feature_union), (lr_model_pipeline.name, lr_model_pipeline) ]) model_pipeline.mlinit() ### train the pipeline lr_model_pipeline.fit(X,y)