diff options
-rw-r--r-- | model/ranksvm.cpp | 1 | ||||
-rw-r--r-- | model/ranksvm.h | 22 | ||||
-rw-r--r-- | tools/dataProvider.h | 25 |
3 files changed, 48 insertions, 0 deletions
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<Eigen/Dense> +#include<string> +#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<Eigen/Dense> + +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 |