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  | 
