![]() |
GestureRecognitionToolkit
Version: 1.0 Revision: 04-03-15
The Gesture Recognition Toolkit (GRT) is a cross-platform, open-source, c++ machine learning library for real-time gesture recognition.
|
Public Member Functions | |
DecisionTreeNode () | |
virtual | ~DecisionTreeNode () |
virtual bool | predict (const VectorDouble &x, VectorDouble &classLikelihoods) |
virtual bool | computeBestSpilt (const UINT &trainingMode, const UINT &numSplittingSteps, const ClassificationData &trainingData, const vector< UINT > &features, const vector< UINT > &classLabels, UINT &featureIndex, double &minError) |
virtual bool | clear () |
virtual bool | getModel (ostream &stream) const |
virtual Node * | deepCopyNode () const |
DecisionTreeNode * | deepCopy () const |
UINT | getNodeSize () const |
UINT | getNumClasses () const |
VectorDouble | getClassProbabilities () const |
bool | setLeafNode (const UINT nodeSize, const VectorDouble &classProbabilities) |
bool | setNodeSize (const UINT nodeSize) |
bool | setClassProbabilities (const VectorDouble &classProbabilities) |
![]() | |
Node () | |
virtual | ~Node () |
virtual bool | predict (const VectorDouble &x) |
virtual bool | print () const |
virtual bool | saveToFile (fstream &file) const |
virtual bool | loadFromFile (fstream &file) |
string | getNodeType () const |
UINT | getDepth () const |
UINT | getNodeID () const |
UINT | getPredictedNodeID () const |
UINT | getMaxDepth () const |
bool | getIsLeafNode () const |
bool | getHasParent () const |
bool | getHasLeftChild () const |
bool | getHasRightChild () const |
Node * | getParent () const |
Node * | getLeftChild () const |
Node * | getRightChild () const |
bool | initNode (Node *parent, const UINT depth, const UINT nodeID, const bool isLeafNode=false) |
bool | setParent (Node *parent) |
bool | setLeftChild (Node *leftChild) |
bool | setRightChild (Node *rightChild) |
bool | setDepth (const UINT depth) |
bool | setNodeID (const UINT nodeID) |
bool | setIsLeafNode (const bool isLeafNode) |
Node * | createNewInstance () const |
![]() | |
GRTBase (void) | |
virtual | ~GRTBase (void) |
bool | copyGRTBaseVariables (const GRTBase *GRTBase) |
string | getClassType () const |
string | getLastWarningMessage () const |
string | getLastErrorMessage () const |
string | getLastInfoMessage () const |
GRTBase * | getGRTBasePointer () |
const GRTBase * | getGRTBasePointer () const |
Protected Member Functions | |
virtual bool | computeBestSpiltBestIterativeSpilt (const UINT &numSplittingSteps, const ClassificationData &trainingData, const vector< UINT > &features, const vector< UINT > &classLabels, UINT &featureIndex, double &minError) |
virtual bool | computeBestSpiltBestRandomSpilt (const UINT &numSplittingSteps, const ClassificationData &trainingData, const vector< UINT > &features, const vector< UINT > &classLabels, UINT &featureIndex, double &minError) |
virtual bool | saveParametersToFile (fstream &file) const |
virtual bool | loadParametersFromFile (fstream &file) |
UINT | getClassLabelIndexValue (UINT classLabel, const vector< UINT > &classLabels) const |
![]() | |
double | SQR (const double &x) const |
Protected Attributes | |
UINT | nodeSize |
VectorDouble | classProbabilities |
![]() | |
string | nodeType |
UINT | depth |
UINT | nodeID |
UINT | predictedNodeID |
bool | isLeafNode |
Node * | parent |
Node * | leftChild |
Node * | rightChild |
![]() | |
string | classType |
DebugLog | debugLog |
ErrorLog | errorLog |
InfoLog | infoLog |
TrainingLog | trainingLog |
TestingLog | testingLog |
WarningLog | warningLog |
Static Protected Attributes | |
static RegisterNode< DecisionTreeNode > | registerModule |
Additional Inherited Members | |
![]() | |
typedef std::map< string, Node *(*)() > | StringNodeMap |
![]() | |
static Node * | createInstanceFromString (string const &nodeType) |
![]() | |
static string | getGRTVersion (bool returnRevision=true) |
static string | getGRTRevison () |
![]() | |
static StringNodeMap * | getMap () |
Definition at line 40 of file DecisionTreeNode.h.
GRT::DecisionTreeNode::DecisionTreeNode | ( | ) |
Default Constructor. Sets all the pointers to NULL.
Definition at line 9 of file DecisionTreeNode.cpp.
|
virtual |
Default Destructor. Cleans up any memory.
Definition at line 17 of file DecisionTreeNode.cpp.
|
virtual |
This functions cleans up any dynamic memory assigned by the node. It will recursively clear the memory for the left and right child nodes.
Reimplemented from GRT::Node.
Reimplemented in GRT::DecisionTreeClusterNode, GRT::DecisionTreeThresholdNode, and GRT::DecisionTreeTripleFeatureNode.
Definition at line 75 of file DecisionTreeNode.cpp.
|
virtual |
This function calls the best spliting algorithm based on the current trainingMode.
This function will return true if the best spliting algorithm found a split, false otherwise.
const | UINT &trainingMode: the training mode to use, this should be one of the |
const | UINT &numSplittingSteps: sets the number of iterations that will be used to search for the best threshold |
const | ClassificationData &trainingData: the training data to use for the best split search |
const | const vector< UINT > &features: a vector containing the indexs of the features that can be used for the search |
const | vector< UINT > &classLabels: a vector containing the class labels for the search |
UINT | &featureIndex: this will store the best feature index found during the search |
double | &minError: this will store the minimum error found during the search |
Definition at line 57 of file DecisionTreeNode.cpp.
DecisionTreeNode * GRT::DecisionTreeNode::deepCopy | ( | ) | const |
This function returns a deep copy of the DecisionTreeNode and all it's children. The user is responsible for managing the dynamic data that is returned from this function as a pointer.
Definition at line 142 of file DecisionTreeNode.cpp.
|
virtual |
This function returns a deep copy of the DecisionTreeNode and all it's children. The user is responsible for managing the dynamic data that is returned from this function as a pointer.
Reimplemented from GRT::Node.
Reimplemented in GRT::DecisionTreeClusterNode, GRT::DecisionTreeThresholdNode, and GRT::DecisionTreeTripleFeatureNode.
Definition at line 111 of file DecisionTreeNode.cpp.
VectorDouble GRT::DecisionTreeNode::getClassProbabilities | ( | ) | const |
This function returns the class probabilities vector.
Definition at line 154 of file DecisionTreeNode.cpp.
|
virtual |
This function adds the current model to the formatted stream. This function should be overwritten by the derived class.
ostream | &file: a reference to the stream the model will be added to |
Reimplemented from GRT::Node.
Reimplemented in GRT::DecisionTreeClusterNode, GRT::DecisionTreeThresholdNode, and GRT::DecisionTreeTripleFeatureNode.
Definition at line 86 of file DecisionTreeNode.cpp.
UINT GRT::DecisionTreeNode::getNodeSize | ( | ) | const |
This function returns the nodeSize, this is the number of training samples that reached the node during the training phase.
Definition at line 146 of file DecisionTreeNode.cpp.
UINT GRT::DecisionTreeNode::getNumClasses | ( | ) | const |
This function returns the number of classes in the class probabilities vector.
Definition at line 150 of file DecisionTreeNode.cpp.
|
inlineprotectedvirtual |
This loads the Decision Tree Node parameters from a file.
fstream | &file: a reference to the file the parameters will be loaded from |
Reimplemented from GRT::Node.
Reimplemented in GRT::DecisionTreeTripleFeatureNode, GRT::DecisionTreeClusterNode, and GRT::DecisionTreeThresholdNode.
Definition at line 215 of file DecisionTreeNode.h.
|
virtual |
This function recursively predicts if the probability of the input vector. If this node is a leaf node, then the class likelihoods are equal to the class probabilities at the leaf node. If this node is not a leaf node, then this function will recursively call the predict function on either the left or right children until a leaf node is reached.
NOTE: The threshold, featureIndex and classProbabilities should be set first BEFORE this function is called. The threshold, featureIndex and classProbabilities can be set by training the node through the DecisionTree class.
const | VectorDouble &x: the input vector that will be used for the prediction |
VectorDouble | &classLikelihoods: a reference to a vector that will store the class probabilities |
Reimplemented from GRT::Node.
Definition at line 21 of file DecisionTreeNode.cpp.
|
inlineprotectedvirtual |
This saves the DecisionTreeNode custom parameters to a file. It will be called automatically by the Node base class if the saveToFile function is called.
fstream | &file: a reference to the file the parameters will be saved to |
Reimplemented from GRT::Node.
Reimplemented in GRT::DecisionTreeTripleFeatureNode, GRT::DecisionTreeClusterNode, and GRT::DecisionTreeThresholdNode.
Definition at line 186 of file DecisionTreeNode.h.
bool GRT::DecisionTreeNode::setClassProbabilities | ( | const VectorDouble & | classProbabilities | ) |
This function sets the Decision Tree Node class probabilities.
const | VectorDouble &classProbabilities: the vector of class probabilities at this node |
Definition at line 170 of file DecisionTreeNode.cpp.
bool GRT::DecisionTreeNode::setLeafNode | ( | const UINT | nodeSize, |
const VectorDouble & | classProbabilities | ||
) |
This function sets the Decision Tree Node as a leaf node.
const | UINT nodeSize: sets the node size, this is the number of training samples at that node |
const | VectorDouble &classProbabilities: the vector of class probabilities at this node |
Definition at line 158 of file DecisionTreeNode.cpp.
bool GRT::DecisionTreeNode::setNodeSize | ( | const UINT | nodeSize | ) |
This function sets the Decision Tree Node nodeSize.
const | UINT nodeSize: sets the node size, this is the number of training samples at that node |
Definition at line 165 of file DecisionTreeNode.cpp.