FPCDecisionTree.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /**
  2. * @file FPCDecisionTree.h
  3. * @brief simple decision tree classifier
  4. * @author Erik Rodner
  5. * @date 04/21/2008
  6. */
  7. #ifndef FPCDECISIONTREEINCLUDE
  8. #define FPCDECISIONTREEINCLUDE
  9. #include "core/vector/VectorT.h"
  10. #include "core/vector/MatrixT.h"
  11. #include "core/basics/Config.h"
  12. #include "vislearning/classifier/classifierbase/FeaturePoolClassifier.h"
  13. #include "vislearning/cbaselib/CachedExample.h"
  14. #include "DecisionTreeBuilder.h"
  15. #include "DecisionTree.h"
  16. #undef ROADWORKS
  17. #define ROADWORKS fthrow( NICE::Exception, "Persistent interface not yet implemented.");
  18. namespace OBJREC
  19. {
  20. /** simple decision tree classifier */
  21. class FPCDecisionTree : public FeaturePoolClassifier
  22. {
  23. protected:
  24. const NICE::Config *conf;
  25. DecisionTree *dt;
  26. DecisionTreeBuilder *builder;
  27. public:
  28. /** simple constructor */
  29. FPCDecisionTree ( const NICE::Config *conf, std::string section );
  30. /** simple destructor */
  31. virtual ~FPCDecisionTree();
  32. virtual ClassificationResult classify ( Example & pce );
  33. virtual void train ( FeaturePool & fp, Examples & examples );
  34. DecisionTree & getTree ()
  35. {
  36. return *dt;
  37. };
  38. void restore ( std::istream & is, int format = 0 )
  39. {
  40. ROADWORKS
  41. };
  42. void store ( std::ostream & os, int format = 0 ) const
  43. {
  44. ROADWORKS
  45. };
  46. void clear ()
  47. {
  48. ROADWORKS
  49. };
  50. FeaturePoolClassifier *clone () const
  51. {
  52. ROADWORKS
  53. };
  54. };
  55. } // namespace
  56. #undef ROADWORKS
  57. #endif