/** * @file DTBClusterRandom.h * @brief build a decision tree for clustering * @author Erik Rodner * @date 05/01/2010 */ #ifndef DTBCLUSTERRANDOMINCLUDE #define DTBCLUSTERRANDOMINCLUDE #include "core/vector/VectorT.h" #include "core/vector/MatrixT.h" #include "core/basics/Config.h" #include "DecisionTreeBuilder.h" #include "vislearning/cbaselib/CachedExample.h" namespace OBJREC { /** build a decision tree for clustering */ class DTBClusterRandom : public DecisionTreeBuilder { protected: int max_depth; int min_examples; DecisionNode *buildRecursive ( const FeaturePool & fp, const Examples & examples, std::vector & examples_selection, FullVector & distribution, int maxClassNo, int depth ); public: /** simple constructor */ DTBClusterRandom( const NICE::Config *conf, std::string section = "DTBClusterRandom" ); /** simple destructor */ virtual ~DTBClusterRandom(); DecisionNode *build ( const FeaturePool & fp, const Examples & examples, int maxClassNo ); }; } // namespace #endif