summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorJoe Zhao <ztuowen@gmail.com>2015-03-07 16:42:46 +0800
committerJoe Zhao <ztuowen@gmail.com>2015-03-07 16:42:46 +0800
commitf50bb1ee0d6011969fcfc7cb084bab0ce9c4dd39 (patch)
treeff6a5d0de7f357772fb902fb357d8bfa9fe58082 /tools
parentbddad20b835a83923901106961adc14c5eb6e3db (diff)
downloadranksvm-f50bb1ee0d6011969fcfc7cb084bab0ce9c4dd39.tar.gz
ranksvm-f50bb1ee0d6011969fcfc7cb084bab0ce9c4dd39.tar.bz2
ranksvm-f50bb1ee0d6011969fcfc7cb084bab0ce9c4dd39.zip
scaffolding, decided to abandon libsvm format & using matrices for easier input & output operation
Diffstat (limited to 'tools')
-rw-r--r--tools/dataProvider.h7
-rw-r--r--tools/fileDataProvider.h20
2 files changed, 24 insertions, 3 deletions
diff --git a/tools/dataProvider.h b/tools/dataProvider.h
index 70a87f0..d598f3f 100644
--- a/tools/dataProvider.h
+++ b/tools/dataProvider.h
@@ -2,10 +2,11 @@
#define DATAPROV_H
#include<Eigen/Dense>
+#include "../tools/easylogging++.h"
class DataProvider //Virtual base class for data input
{
-private:
+protected:
int size;
int attrSize;
public:
@@ -17,9 +18,9 @@ public:
}
virtual Eigen::MatrixXd* getAttr() = 0;
- virtual Eigen::MatrixXd* getPref() = 0;
+ virtual Eigen::VectorXd* getPref() = 0;
virtual int open();
- virtual int parse();
+ virtual bool EOFile();
};
#endif \ No newline at end of file
diff --git a/tools/fileDataProvider.h b/tools/fileDataProvider.h
new file mode 100644
index 0000000..3cfb3f9
--- /dev/null
+++ b/tools/fileDataProvider.h
@@ -0,0 +1,20 @@
+#ifndef FDPROV_H
+#define FDPROV_H
+
+#include "dataProvider.h"
+#include <string>
+
+class FileDP:public DataProvider
+{
+private:
+ std::string fname;
+public:
+ FileDP(){};
+ FileDP(std::string fn):fname(fn){};
+ virtual Eigen::MatrixXd* getNextAttr();
+ virtual Eigen::VectorXd* getNextPref();
+ virtual int open();
+ virtual bool EOFile();
+};
+
+#endif \ No newline at end of file