Go to the documentation of this file.00001 #ifndef _SEPPLANEXPLORE_HH_
00002 #define _SEPPLANEXPLORE_HH_
00003
00004 #include "../Models/C45Tree.hh"
00005 #include "../Models/M5Tree.hh"
00006 #include "../Models/LinearSplitsTree.hh"
00007 #include "../Models/MultipleClassifiers.hh"
00008
00009 #include "../Models/Stump.hh"
00010
00011 #include <rl_common/Random.h>
00012 #include <rl_common/core.hh>
00013 #include <vector>
00014 #include <set>
00015 #include <map>
00016
00018 class SepPlanExplore: public Classifier {
00019
00020 public:
00021
00022
00023
00024 SepPlanExplore(int id, int modelType, int predType, int nModels,
00025 int trainMode, int trainFreq,
00026 float featPct, float expPct, float treeThreshold, bool stoch,
00027 float featRange, Random rng);
00028
00029 SepPlanExplore(const SepPlanExplore&);
00030 virtual SepPlanExplore* getCopy();
00031
00032 ~SepPlanExplore();
00033
00034 virtual bool trainInstances(std::vector<classPair> &instances);
00035 virtual bool trainInstance(classPair &instance);
00036 virtual void testInstance(const std::vector<float> &input, std::map<float, float>* retval);
00037 virtual float getConf(const std::vector<float> &s);
00038
00039 void initModels();
00040
00041 bool SPEDEBUG;
00042
00043 private:
00044
00045 const int id;
00046 const int modelType;
00047 const int predType;
00048 const int nModels;
00049 const int mode;
00050 const int freq;
00051 const float featPct;
00052 const float expPct;
00053 const float treeThresh;
00054 const bool stoch;
00055 const float featRange;
00056
00057 Random rng;
00058
00059 Classifier* expModel;
00060 Classifier* planModel;
00061
00062 };
00063
00064
00065 #endif
00066