From bddad20b835a83923901106961adc14c5eb6e3db Mon Sep 17 00:00:00 2001 From: Joe Zhao Date: Sat, 7 Mar 2015 12:56:24 +0800 Subject: scaffolding --- model/ranksvm.cpp | 1 + model/ranksvm.h | 22 ++++++++++++++++++++++ tools/dataProvider.h | 25 +++++++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 model/ranksvm.cpp create mode 100644 model/ranksvm.h create mode 100644 tools/dataProvider.h diff --git a/model/ranksvm.cpp b/model/ranksvm.cpp new file mode 100644 index 0000000..38fb70c --- /dev/null +++ b/model/ranksvm.cpp @@ -0,0 +1 @@ +#include"ranksvm.h" \ No newline at end of file diff --git a/model/ranksvm.h b/model/ranksvm.h new file mode 100644 index 0000000..ba79c48 --- /dev/null +++ b/model/ranksvm.h @@ -0,0 +1,22 @@ +#ifndef RANKSVM_H +#define RANKSVM_H + +#include +#include +#include"../tools/dataProvider.h" + +class RSVM //Virtual base class for all RSVM operations +{ +protected: + Eigen::VectorXd* model; +public: + virtual int train(DataProvider &D)=0; + int test(); + int saveModel(string fname); + static RSVM loadModel(string fname); + string getName(); + Eigen::MatrixXd getModel(); + Eigen::MatrixXd setModel(); +}; + +#endif \ No newline at end of file diff --git a/tools/dataProvider.h b/tools/dataProvider.h new file mode 100644 index 0000000..70a87f0 --- /dev/null +++ b/tools/dataProvider.h @@ -0,0 +1,25 @@ +#ifndef DATAPROV_H +#define DATAPROV_H + +#include + +class DataProvider //Virtual base class for data input +{ +private: + int size; + int attrSize; +public: + int getSize(){ + return size; + } + int getAttrSize(){ + return attrSize; + } + + virtual Eigen::MatrixXd* getAttr() = 0; + virtual Eigen::MatrixXd* getPref() = 0; + virtual int open(); + virtual int parse(); +}; + +#endif \ No newline at end of file -- cgit v1.2.3-70-g09d2