35 #ifndef GRT_DECISION_TREE_HEADER
36 #define GRT_DECISION_TREE_HEADER
38 #include "../../CoreModules/Classifier.h"
39 #include "../../CoreAlgorithms/Tree/Tree.h"
61 DecisionTree(
const DecisionTreeNode &decisionTreeNode =
DecisionTreeClusterNode(),
const UINT minNumSamplesPerNode=5,
const UINT maxDepth=10,
const bool removeFeaturesAtEachSpilt =
false,
const UINT trainingMode = BEST_ITERATIVE_SPILT,
const UINT numSplittingSteps=100,
const bool useScaling=
false );
108 virtual bool predict_(VectorDouble &inputVector);
116 virtual bool clear();
151 virtual bool getModel(ostream &stream)
const;
192 bool loadLegacyModelFromFile_v2( fstream &file );
193 bool loadLegacyModelFromFile_v3( fstream &file );
196 double getNodeDistance(
const VectorDouble &x,
const UINT nodeID );
197 double getNodeDistance(
const VectorDouble &x,
const VectorDouble &y );
200 std::map< UINT, VectorDouble > nodeClusters;
201 VectorDouble classClusterMean;
202 VectorDouble classClusterStdDev;
209 #endif //GRT_DECISION_TREE_HEADER
DecisionTree(const DecisionTreeNode &decisionTreeNode=DecisionTreeClusterNode(), const UINT minNumSamplesPerNode=5, const UINT maxDepth=10, const bool removeFeaturesAtEachSpilt=false, const UINT trainingMode=BEST_ITERATIVE_SPILT, const UINT numSplittingSteps=100, const bool useScaling=false)
virtual bool saveModelToFile(string filename) const
This file implements a DecisionTreeTripleFeatureNode, which is a specific type of node used for a Dec...
virtual bool deepCopyFrom(const Classifier *classifier)
virtual bool print() const
virtual bool loadModelFromFile(string filename)
virtual ~DecisionTree(void)
virtual bool getModel(ostream &stream) const
virtual bool train(ClassificationData trainingData)
virtual bool recomputeNullRejectionThresholds()
virtual bool loadModelFromFile(fstream &file)
This file implements a DecisionTreeClusterNode, which is a specific type of node used for a DecisionT...
virtual bool train_(ClassificationData &trainingData)
bool loadLegacyModelFromFile_v1(fstream &file)
DecisionTreeNode * deepCopyTree() const
virtual bool predict(VectorDouble inputVector)
bool setDecisionTreeNode(const DecisionTreeNode &node)
This file implements a DecisionTreeNode, which is a specific base node used for a DecisionTree...
DecisionTreeNode * deepCopyDecisionTreeNode() const
DecisionTree & operator=(const DecisionTree &rhs)
virtual bool saveModelToFile(fstream &file) const
virtual bool predict_(VectorDouble &inputVector)
const DecisionTreeNode * getTree() const
This file implements a DecisionTreeThresholdNode, which is a specific type of node used for a Decisio...