RegressionTreeBuilder.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /**
  2. * @file RegressionTreeBuilder.h
  3. * @brief build regression trees
  4. * @author Sven Sickert
  5. * @date 06/19/2013
  6. */
  7. #ifndef REGRESSIONTREEBUILDERINCLUDE
  8. #define REGRESSIONTREEBUILDERINCLUDE
  9. #include <map>
  10. #include <set>
  11. #include "core/basics/triplet.h"
  12. #include "core/vector/VectorT.h"
  13. #include "core/vector/VVector.h"
  14. #include "vislearning/regression/randomforest/RegressionNode.h"
  15. #include "vislearning/regression/randomforest/RegressionTree.h"
  16. namespace OBJREC {
  17. /** build regression trees */
  18. class RegressionTreeBuilder
  19. {
  20. protected:
  21. public:
  22. /** simple constructor */
  23. RegressionTreeBuilder();
  24. /** simple destructor */
  25. virtual ~RegressionTreeBuilder();
  26. virtual RegressionNode *build ( const NICE::VVector & x,
  27. const NICE::Vector & y ) = 0;
  28. void collectFeatureValues(const NICE::VVector & x,
  29. const std::vector<int> & selection,
  30. const int f,
  31. std::vector< std::pair< double, int > > & values );
  32. void build ( RegressionTree & tree,
  33. const NICE::VVector & x,
  34. const NICE::Vector & y );
  35. };
  36. } // namespace
  37. #endif