Main Page | Namespace List | Class Hierarchy | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages

CLUS::BinaryDecisionTreeNode< T_Splitter > Class Template Reference

Implements a node of the binary decision tree. More...

#include <binarydecisiontreenode.h>

Collaboration diagram for CLUS::BinaryDecisionTreeNode< T_Splitter >:

Collaboration graph
[legend]

Public Member Functions

 BinaryDecisionTreeNode (int NodeId, const Vector< int > &DDomainSize, int CsplitDim)
 ~BinaryDecisionTreeNode (void)
void StartLearningEpoch (void)
 Begin the learning process.

void LearnSample (const int *Dvars, const double *Cvars, int classlabel)
 Learn a data sample.

bool StopLearningEpoch (int minMass)
 Stop the learning process.

double Infer (const int *Dvars, const double *Cvars)
 Do the inference.

void InitializePruningStatistics (void)
 Initialize stats about pruning.

void UpdatePruningStatistics (const int *Dvars, const double *Cvars, int classlabel)
 Update pruning stats with new data.

void FinalizePruningStatistics (void)
double PruneSubtree (void)
 Return the optimal cost for this subtree and cuts the subtree to optimal size.

void SaveToStream (ostream &out)
 Output the node data to a stream.


Protected Types

enum  state { stable, split }
 the state of the node. At creation em. At load stable More...


Protected Attributes

int nodeId
 unique identifier of the cluster for a regression tree.

enum CLUS::BinaryDecisionTreeNode::state State
 the state of the node. At creation em. At load stable

int classLabel
 the predicted class label

BinaryDecisionTreeNode< T_Splitter > * Children [2]
 the children of this node

double probFirstClass
 the probability to return first class, for the seccond probability is 1-probFirstClass

T_Splitter Splitter
 splitter for split criterion

int pruningError
 pruning error statistic

int pruningTotalMass
 pruning total mass statistic


Detailed Description

template<class T_Splitter>
class CLUS::BinaryDecisionTreeNode< T_Splitter >

Implements a node of the binary decision tree.

Definition at line 52 of file binarydecisiontreenode.h.


Member Enumeration Documentation

template<class T_Splitter>
enum CLUS::BinaryDecisionTreeNode::state [protected]
 

the state of the node. At creation em. At load stable

Enumeration values:
stable 
split 

Definition at line 60 of file binarydecisiontreenode.h.


Constructor & Destructor Documentation

template<class T_Splitter>
CLUS::BinaryDecisionTreeNode< T_Splitter >::BinaryDecisionTreeNode int  NodeId,
const Vector< int > &  DDomainSize,
int  CsplitDim
[inline]
 

Definition at line 81 of file binarydecisiontreenode.h.

template<class T_Splitter>
CLUS::BinaryDecisionTreeNode< T_Splitter >::~BinaryDecisionTreeNode void   )  [inline]
 

Definition at line 89 of file binarydecisiontreenode.h.


Member Function Documentation

template<class T_Splitter>
void CLUS::BinaryDecisionTreeNode< T_Splitter >::FinalizePruningStatistics void   )  [inline]
 

Definition at line 255 of file binarydecisiontreenode.h.

template<class T_Splitter>
double CLUS::BinaryDecisionTreeNode< T_Splitter >::Infer const int *  Dvars,
const double *  Cvars
[inline]
 

Do the inference.

Parameters:
Dvars discrete variables
Cvars continuous variables

Definition at line 207 of file binarydecisiontreenode.h.

template<class T_Splitter>
void CLUS::BinaryDecisionTreeNode< T_Splitter >::InitializePruningStatistics void   )  [inline]
 

Initialize stats about pruning.

Definition at line 222 of file binarydecisiontreenode.h.

template<class T_Splitter>
void CLUS::BinaryDecisionTreeNode< T_Splitter >::LearnSample const int *  Dvars,
const double *  Cvars,
int  classlabel
[inline]
 

Learn a data sample.

Parameters:
Dvars discrete variables
Cvars continuous variables
classlabel classification label

Definition at line 124 of file binarydecisiontreenode.h.

template<class T_Splitter>
double CLUS::BinaryDecisionTreeNode< T_Splitter >::PruneSubtree void   )  [inline]
 

Return the optimal cost for this subtree and cuts the subtree to optimal size.

Definition at line 261 of file binarydecisiontreenode.h.

template<class T_Splitter>
void CLUS::BinaryDecisionTreeNode< T_Splitter >::SaveToStream ostream &  out  )  [inline]
 

Output the node data to a stream.

Parameters:
out stream for output

Definition at line 307 of file binarydecisiontreenode.h.

template<class T_Splitter>
void CLUS::BinaryDecisionTreeNode< T_Splitter >::StartLearningEpoch void   )  [inline]
 

Begin the learning process.

Definition at line 102 of file binarydecisiontreenode.h.

template<class T_Splitter>
bool CLUS::BinaryDecisionTreeNode< T_Splitter >::StopLearningEpoch int  minMass  )  [inline]
 

Stop the learning process.

Returns:
true if stopped successfully false if still processing data

Definition at line 149 of file binarydecisiontreenode.h.

template<class T_Splitter>
void CLUS::BinaryDecisionTreeNode< T_Splitter >::UpdatePruningStatistics const int *  Dvars,
const double *  Cvars,
int  classlabel
[inline]
 

Update pruning stats with new data.

Parameters:
Dvars discrete variables
Cvars continuous variables
classlabel classification label

Definition at line 239 of file binarydecisiontreenode.h.


Field Documentation

template<class T_Splitter>
BinaryDecisionTreeNode< T_Splitter >* CLUS::BinaryDecisionTreeNode< T_Splitter >::Children[2] [protected]
 

the children of this node

Definition at line 66 of file binarydecisiontreenode.h.

Referenced by CLUS::BinaryDecisionTreeNode< T_Splitter >::Infer(), CLUS::BinaryDecisionTreeNode< T_Splitter >::InitializePruningStatistics(), CLUS::BinaryDecisionTreeNode< T_Splitter >::LearnSample(), CLUS::BinaryDecisionTreeNode< T_Splitter >::PruneSubtree(), CLUS::BinaryDecisionTreeNode< T_Splitter >::SaveToStream(), CLUS::BinaryDecisionTreeNode< T_Splitter >::StartLearningEpoch(), CLUS::BinaryDecisionTreeNode< T_Splitter >::StopLearningEpoch(), CLUS::BinaryDecisionTreeNode< T_Splitter >::UpdatePruningStatistics(), and CLUS::BinaryDecisionTreeNode< T_Splitter >::~BinaryDecisionTreeNode().

template<class T_Splitter>
int CLUS::BinaryDecisionTreeNode< T_Splitter >::classLabel [protected]
 

the predicted class label

Definition at line 63 of file binarydecisiontreenode.h.

Referenced by CLUS::BinaryDecisionTreeNode< T_Splitter >::Infer(), CLUS::BinaryDecisionTreeNode< T_Splitter >::SaveToStream(), CLUS::BinaryDecisionTreeNode< T_Splitter >::StopLearningEpoch(), and CLUS::BinaryDecisionTreeNode< T_Splitter >::UpdatePruningStatistics().

template<class T_Splitter>
int CLUS::BinaryDecisionTreeNode< T_Splitter >::nodeId [protected]
 

unique identifier of the cluster for a regression tree.

Definition at line 57 of file binarydecisiontreenode.h.

Referenced by CLUS::BinaryDecisionTreeNode< T_Splitter >::BinaryDecisionTreeNode(), CLUS::BinaryDecisionTreeNode< T_Splitter >::PruneSubtree(), CLUS::BinaryDecisionTreeNode< T_Splitter >::SaveToStream(), and CLUS::BinaryDecisionTreeNode< T_Splitter >::StopLearningEpoch().

template<class T_Splitter>
double CLUS::BinaryDecisionTreeNode< T_Splitter >::probFirstClass [protected]
 

the probability to return first class, for the seccond probability is 1-probFirstClass

Definition at line 69 of file binarydecisiontreenode.h.

Referenced by CLUS::BinaryDecisionTreeNode< T_Splitter >::BinaryDecisionTreeNode(), and CLUS::BinaryDecisionTreeNode< T_Splitter >::StopLearningEpoch().

template<class T_Splitter>
int CLUS::BinaryDecisionTreeNode< T_Splitter >::pruningError [protected]
 

pruning error statistic

Definition at line 75 of file binarydecisiontreenode.h.

Referenced by CLUS::BinaryDecisionTreeNode< T_Splitter >::InitializePruningStatistics(), CLUS::BinaryDecisionTreeNode< T_Splitter >::PruneSubtree(), and CLUS::BinaryDecisionTreeNode< T_Splitter >::UpdatePruningStatistics().

template<class T_Splitter>
int CLUS::BinaryDecisionTreeNode< T_Splitter >::pruningTotalMass [protected]
 

pruning total mass statistic

Definition at line 78 of file binarydecisiontreenode.h.

Referenced by CLUS::BinaryDecisionTreeNode< T_Splitter >::InitializePruningStatistics(), CLUS::BinaryDecisionTreeNode< T_Splitter >::PruneSubtree(), and CLUS::BinaryDecisionTreeNode< T_Splitter >::UpdatePruningStatistics().

template<class T_Splitter>
T_Splitter CLUS::BinaryDecisionTreeNode< T_Splitter >::Splitter [protected]
 

splitter for split criterion

Definition at line 72 of file binarydecisiontreenode.h.

Referenced by CLUS::BinaryDecisionTreeNode< T_Splitter >::BinaryDecisionTreeNode(), CLUS::BinaryDecisionTreeNode< T_Splitter >::Infer(), CLUS::BinaryDecisionTreeNode< T_Splitter >::LearnSample(), CLUS::BinaryDecisionTreeNode< T_Splitter >::SaveToStream(), CLUS::BinaryDecisionTreeNode< T_Splitter >::StartLearningEpoch(), CLUS::BinaryDecisionTreeNode< T_Splitter >::StopLearningEpoch(), and CLUS::BinaryDecisionTreeNode< T_Splitter >::UpdatePruningStatistics().

template<class T_Splitter>
enum CLUS::BinaryDecisionTreeNode::state CLUS::BinaryDecisionTreeNode< T_Splitter >::State [protected]
 

the state of the node. At creation em. At load stable

Referenced by CLUS::BinaryDecisionTreeNode< T_Splitter >::BinaryDecisionTreeNode(), CLUS::BinaryDecisionTreeNode< T_Splitter >::LearnSample(), CLUS::BinaryDecisionTreeNode< T_Splitter >::StartLearningEpoch(), and CLUS::BinaryDecisionTreeNode< T_Splitter >::StopLearningEpoch().


The documentation for this class was generated from the following file:
Generated on Mon Jul 21 16:57:44 2003 for SECRET by doxygen 1.3.2