Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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)