summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorJoe Zhao <ztuowen@gmail.com>2015-04-09 19:32:12 +0800
committerJoe Zhao <ztuowen@gmail.com>2015-04-09 19:32:12 +0800
commit01b523c7ce4eb5e692b0dcbec63efac0e8d1e2c7 (patch)
tree6901958d80e0a3e5c032ae57bfd2dd59e2ff8408 /tools
parent8b373d39b893c786197876e8320f3508555c80c3 (diff)
downloadranksvm-01b523c7ce4eb5e692b0dcbec63efac0e8d1e2c7.tar.gz
ranksvm-01b523c7ce4eb5e692b0dcbec63efac0e8d1e2c7.tar.bz2
ranksvm-01b523c7ce4eb5e692b0dcbec63efac0e8d1e2c7.zip
sync
Diffstat (limited to 'tools')
-rw-r--r--tools/dataProvider.h23
-rw-r--r--tools/fileDataProvider.h7
2 files changed, 23 insertions, 7 deletions
diff --git a/tools/dataProvider.h b/tools/dataProvider.h
index d311149..bff1f44 100644
--- a/tools/dataProvider.h
+++ b/tools/dataProvider.h
@@ -4,6 +4,7 @@
#include<Eigen/Dense>
#include "../tools/easylogging++.h"
#include<vector>
+#include<list>
// TODO decide how to construct training data
// One possible way for training data:
@@ -19,6 +20,23 @@ typedef Eigen::MatrixXd DataSet;
typedef Eigen::VectorXd Labels;
+typedef struct DataEntry{
+ int qid;
+ double rank;
+ Eigen::VectorXd feature;
+} DataEntry;
+
+class DataList{
+private:
+ int n;
+ std::list<DataEntry> data;
+public:
+ int getSize(){return data.size();}
+ void addEntry(DataEntry d){data.push_front(d);}
+ void setfSize(int fsize){n=fsize;}
+ int getfSize(){return n;}
+};
+
class DataProvider //Virtual base class for data input
{
protected:
@@ -34,10 +52,9 @@ public:
return attrSize;
}
- bool EOFile(){return eof;};
+ bool EOFile(){return eof;}
- virtual int getDataSet(DataSet &out) = 0;
- virtual int getLabel(Labels &out) = 0;
+ virtual int getDataSet(DataList &out) = 0;
virtual int open()=0;
virtual int close()=0;
};
diff --git a/tools/fileDataProvider.h b/tools/fileDataProvider.h
index a4cc252..9ce78e6 100644
--- a/tools/fileDataProvider.h
+++ b/tools/fileDataProvider.h
@@ -11,12 +11,11 @@ private:
public:
FileDP(std::string fn=""):fname(fn){};
void setFname(std::string fn){fname=fn;};
- virtual int getDataSet(DataSet &out){
+ virtual int getDataSet(DataList &out){
return 0;
}
- virtual int getLabel(Labels &out){
- return 0;
- };
+ int getDataSet(DataSet &D) {return 0;}
+ int getLabel(Labels &l) {return 0;}
virtual int open(){eof=true;return 0;};
virtual int close(){return 0;};
};