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")) { |