diff options
| author | Joe Zhao <ztuowen@gmail.com> | 2015-05-14 11:23:27 +0800 | 
|---|---|---|
| committer | Joe Zhao <ztuowen@gmail.com> | 2015-05-14 11:23:27 +0800 | 
| commit | 4fd46f811f680f81efc858b788b0335427dbf26e (patch) | |
| tree | b9cc28cc97f844760be5ed44c2b5a70179a665cd | |
| parent | 565b014e8102a36673a000e1ceb720ec20eceaf0 (diff) | |
| download | ranksvm-4fd46f811f680f81efc858b788b0335427dbf26e.tar.gz ranksvm-4fd46f811f680f81efc858b788b0335427dbf26e.tar.bz2 ranksvm-4fd46f811f680f81efc858b788b0335427dbf26e.zip  | |
c
| -rw-r--r-- | model/ranksvm.cpp | 2 | ||||
| -rw-r--r-- | model/ranksvm.h | 2 | ||||
| -rw-r--r-- | model/ranksvmtn.cpp | 1 | ||||
| -rw-r--r-- | train.cpp | 7 | 
4 files changed, 10 insertions, 2 deletions
diff --git a/model/ranksvm.cpp b/model/ranksvm.cpp index 7ee72ac..bb50126 100644 --- a/model/ranksvm.cpp +++ b/model/ranksvm.cpp @@ -8,6 +8,8 @@  using namespace Eigen;  using namespace std; +double C=1e-4;// Compensating & scaling +  int RSVM::saveModel(const string fname){      std::ofstream fout(fname.c_str()); diff --git a/model/ranksvm.h b/model/ranksvm.h index 58cd7f0..9051343 100644 --- a/model/ranksvm.h +++ b/model/ranksvm.h @@ -37,4 +37,6 @@ public:      int setModel(const SVMModel &model);  }; +extern double C;// Compensating & scaling +  #endif
\ No newline at end of file diff --git a/model/ranksvmtn.cpp b/model/ranksvmtn.cpp index 3136426..3d0db5f 100644 --- a/model/ranksvmtn.cpp +++ b/model/ranksvmtn.cpp @@ -6,7 +6,6 @@  using namespace std;  using namespace Eigen; -const double C=1e-4; // Compensating & scaling  // Main terminating criteria  const int maxiter = 60; // max iteration count  const double prec=1e-10; // precision @@ -27,6 +27,7 @@ int train(DataProvider &dp) {      LOG(INFO)<<"Training started";      dp.getAllDataSet(D);      LOG(INFO)<<"Read "<<D.getSize()<<" entries with "<< D.getfSize()<<" features"; +    LOG(INFO)<<"C: "<<C;      rsvm->train(D);      LOG(INFO)<<"Training finished,saving model"; @@ -109,7 +110,8 @@ int main(int argc, char **argv) {              ("debug,d", "show debug messages")              ("model,m", po::value<string>(), "set input model file")              ("output,o", po::value<string>(), "set output model/prediction file") -            ("feature,i", po::value<string>(), "set input feature file"); +            ("feature,i", po::value<string>(), "set input feature file") +            ("c,c",po::value<double>(),"trades margin size against training error");      // Parsing program options      po::store(po::parse_command_line(argc, argv, desc), vm); @@ -128,6 +130,9 @@ int main(int argc, char **argv) {      mainFunc mainf;      if (vm.count("train")) { +        if (vm.count("c")) { +            C=vm["c"].as<double>(); +        }          mainf = &train;      }      else if (vm.count("validate")||vm.count("predict")) {  | 
