def test_train_save_load_predict_libsvmnusvr(self): print "test libsvmnusvr train, save, load and predict..." xs = LibsvmNusvrTrainTestModel.get_xs_from_results(self.features) ys = LibsvmNusvrTrainTestModel.get_ys_from_results(self.features) xys = LibsvmNusvrTrainTestModel.get_xys_from_results(self.features) self.model = LibsvmNusvrTrainTestModel({'norm_type': 'normalize'}, None) self.model.train(xys) self.model.to_file(self.model_filename) self.assertTrue(os.path.exists(self.model_filename)) self.assertTrue(os.path.exists(self.model_filename + '.model')) loaded_model = LibsvmNusvrTrainTestModel.from_file( self.model_filename, None) result = self.model.evaluate(xs, ys) self.assertAlmostEquals(result['RMSE'], 0.62263086620058783, places=4) # loaded model generates slight numerical difference result = loaded_model.evaluate(xs, ys) self.assertAlmostEquals(result['RMSE'], 0.62263139871631323, places=4)
def test_train_predict_libsvmnusvr(self): print "test libsvmnusvr train and predict..." # libsvmnusvr is bit exact to nusvr xs = LibsvmNusvrTrainTestModel.get_xs_from_results(self.features) ys = LibsvmNusvrTrainTestModel.get_ys_from_results(self.features) xys = LibsvmNusvrTrainTestModel.get_xys_from_results(self.features) model = LibsvmNusvrTrainTestModel( {'norm_type':'normalize'}, None) model.train(xys) result = model.evaluate(xs, ys) self.assertAlmostEquals(result['RMSE'], 0.62263086620058783, places=4) model = LibsvmNusvrTrainTestModel( {'norm_type':'clip_0to1'}, None) model.train(xys) result = model.evaluate(xs, ys) self.assertAlmostEquals(result['RMSE'], 0.84243141087114626, places=4) model = LibsvmNusvrTrainTestModel( {'norm_type': 'custom_clip_0to1', 'custom_clip_0to1_map': { 'Moment_noref_feature_1st_score': [0.0, 100.0], }, }, None) model.train(xys) result = model.evaluate(xs, ys) self.assertAlmostEquals(result['RMSE'], 0.84639162766546994, places=4) model = LibsvmNusvrTrainTestModel( {'norm_type':'clip_minus1to1'}, None) model.train(xys) result = model.evaluate(xs, ys) self.assertAlmostEquals(result['RMSE'], 0.8314352752340991, places=4) model = LibsvmNusvrTrainTestModel( {'norm_type':'none'}, None) model.train(xys) result = model.evaluate(xs, ys) self.assertAlmostEquals(result['RMSE'], 0.23294283650716496, places=4)
def test_train_predict_libsvmnusvr(self): print "test libsvmnusvr train and predict..." # libsvmnusvr is bit exact to nusvr xs = LibsvmNusvrTrainTestModel.get_xs_from_results(self.features) ys = LibsvmNusvrTrainTestModel.get_ys_from_results(self.features) xys = LibsvmNusvrTrainTestModel.get_xys_from_results(self.features) model = LibsvmNusvrTrainTestModel({'norm_type': 'normalize'}, None) model.train(xys) result = model.evaluate(xs, ys) self.assertAlmostEquals(result['RMSE'], 0.62263086620058783, places=4) model = LibsvmNusvrTrainTestModel({'norm_type': 'clip_0to1'}, None) model.train(xys) result = model.evaluate(xs, ys) self.assertAlmostEquals(result['RMSE'], 0.84243141087114626, places=4) model = LibsvmNusvrTrainTestModel( { 'norm_type': 'custom_clip_0to1', 'custom_clip_0to1_map': { 'Moment_noref_feature_1st_score': [0.0, 100.0], }, }, None) model.train(xys) result = model.evaluate(xs, ys) self.assertAlmostEquals(result['RMSE'], 0.84639162766546994, places=4) model = LibsvmNusvrTrainTestModel({'norm_type': 'clip_minus1to1'}, None) model.train(xys) result = model.evaluate(xs, ys) self.assertAlmostEquals(result['RMSE'], 0.8314352752340991, places=4) model = LibsvmNusvrTrainTestModel({'norm_type': 'none'}, None) model.train(xys) result = model.evaluate(xs, ys) self.assertAlmostEquals(result['RMSE'], 0.23294283650716496, places=4)
def test_train_save_load_predict_libsvmnusvr(self): print "test libsvmnusvr train, save, load and predict..." xs = LibsvmNusvrTrainTestModel.get_xs_from_results(self.features) ys = LibsvmNusvrTrainTestModel.get_ys_from_results(self.features) xys = LibsvmNusvrTrainTestModel.get_xys_from_results(self.features) self.model = LibsvmNusvrTrainTestModel({'norm_type':'normalize'}, None) self.model.train(xys) self.model.to_file(self.model_filename) self.assertTrue(os.path.exists(self.model_filename)) self.assertTrue(os.path.exists(self.model_filename + '.model')) loaded_model = LibsvmNusvrTrainTestModel.from_file(self.model_filename, None) result = self.model.evaluate(xs, ys) self.assertAlmostEquals(result['RMSE'], 0.62263086620058783, places=4) # loaded model generates slight numerical difference result = loaded_model.evaluate(xs, ys) self.assertAlmostEquals(result['RMSE'], 0.62263139871631323, places=4)