00001 #ifndef DTREADER_H
00002 #define DTREADER_H
00003
00004 #include <fstream>
00005 #include <iostream>
00006 #include <vector>
00007 #include <string>
00008
00009 using namespace std;
00010
00011 struct DTNode{
00012 int id;
00013 float score;
00014 int var;
00015 float cut;
00016 int left;
00017 int right;
00018 };
00019
00020 class DecisionTreeReader{
00021
00022 public:
00023 DecisionTreeReader();
00024 ~DecisionTreeReader();
00025
00026 bool CreateFromFile(string file);
00027 double Evaluate(double *input, int size);
00028 double Evaluate(vector<double> &input);
00029 double EvaluateTree(int index, vector<double> &input);
00030
00031 private:
00032 bool ParseLine(ifstream &ins, DTNode* set);
00033
00034 DTNode** Tree;
00035 int nTree;
00036 vector<int> nNodes;
00037
00038 };
00039
00040 #endif