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

CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter > Class Template Reference

#include <regressiontree.h>

Inheritance diagram for CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >:

Inheritance graph
[legend]
Collaboration diagram for CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >:

Collaboration graph
[legend]

Public Member Functions

 BinaryRegressionTree (const Vector< int > &DDomainSize, int CsplitDim, int RegDim)
virtual ~BinaryRegressionTree (void)
virtual int InDim (void)
 Get the number of input dimensions.

virtual string TypeName (void)
 Get the type of this object.

virtual void Infer (void)
 Do the inference.

virtual void Identify (void)
 Use the training data to learn a new structure.

virtual void Prune (void)
 Prune the structure.

virtual int SetOption (char *name, char *val)
 Set an option for the machine.

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


Protected Member Functions

void PrintSizesTree (void)

Protected Attributes

BinaryRegressionTreeNode<
T_Distribution, T_Regressor,
T_Splitter > * 
root
const Vector< int > & dDomainSize
 list of discrete domain sizes

int dsplitDim
 num of discrete variables

int csplitDim
 num of continuous+split variables

int regDim
 num of regression variables

int emMaxIterations
 num of iterations to get convergence for EM

int emRestarts
 num of restarts of EM to get a good initial starting point

int min_no_datapoints
 the minimum number of datapoints in a node to split further

int splitType
 type of split to be passed to splitter, splitter dependent

double threshold
 threshold for considering a branch irrelevant

T_Distribution * rootDistribution
int inferMaxNodeId

template<class T_Distribution, class T_Regressor, class T_Splitter>
class CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >


Constructor & Destructor Documentation

template<class T_Distribution, class T_Regressor, class T_Splitter>
CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::BinaryRegressionTree const Vector< int > &  DDomainSize,
int  CsplitDim,
int  RegDim
[inline]
 

Definition at line 92 of file regressiontree.h.

template<class T_Distribution, class T_Regressor, class T_Splitter>
virtual CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::~BinaryRegressionTree void   )  [inline, virtual]
 

Definition at line 105 of file regressiontree.h.


Member Function Documentation

template<class T_Distribution, class T_Regressor, class T_Splitter>
virtual void CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Identify void   )  [inline, virtual]
 

Use the training data to learn a new structure.

Reimplemented from CLUS::Machine.

Definition at line 139 of file regressiontree.h.

template<class T_Distribution, class T_Regressor, class T_Splitter>
virtual int CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::InDim void   )  [inline, virtual]
 

Get the number of input dimensions.

Reimplemented from CLUS::Machine.

Definition at line 111 of file regressiontree.h.

template<class T_Distribution, class T_Regressor, class T_Splitter>
virtual void CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Infer void   )  [inline, virtual]
 

Do the inference.

Reimplemented from CLUS::Machine.

Definition at line 121 of file regressiontree.h.

template<class T_Distribution, class T_Regressor, class T_Splitter>
void CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::PrintSizesTree void   )  [inline, protected]
 

Definition at line 83 of file regressiontree.h.

Referenced by CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Identify(), and CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Prune().

template<class T_Distribution, class T_Regressor, class T_Splitter>
virtual void CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Prune void   )  [inline, virtual]
 

Prune the structure.

Reimplemented from CLUS::Machine.

Definition at line 189 of file regressiontree.h.

template<class T_Distribution, class T_Regressor, class T_Splitter>
virtual void CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::SaveToStream ostream &  out  )  [inline, virtual]
 

Output the structure data to a stream.

Parameters:
out stream for output

Reimplemented from CLUS::Machine.

Definition at line 241 of file regressiontree.h.

template<class T_Distribution, class T_Regressor, class T_Splitter>
virtual int CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::SetOption char *  name,
char *  val
[inline, virtual]
 

Set an option for the machine.

Parameters:
name name of option to be set
val value of option

Reimplemented from CLUS::Machine.

Definition at line 217 of file regressiontree.h.

template<class T_Distribution, class T_Regressor, class T_Splitter>
virtual string CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::TypeName void   )  [inline, virtual]
 

Get the type of this object.

Returns:
name of object type as a string

Reimplemented from CLUS::Machine.

Definition at line 116 of file regressiontree.h.

Referenced by CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::SaveToStream().


Field Documentation

template<class T_Distribution, class T_Regressor, class T_Splitter>
int CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::csplitDim [protected]
 

num of continuous+split variables

Definition at line 60 of file regressiontree.h.

Referenced by CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::BinaryRegressionTree(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Identify(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::InDim(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Infer(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Prune(), and CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::SaveToStream().

template<class T_Distribution, class T_Regressor, class T_Splitter>
const Vector<int>& CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::dDomainSize [protected]
 

list of discrete domain sizes

Definition at line 54 of file regressiontree.h.

Referenced by CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::BinaryRegressionTree(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Identify(), and CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::SaveToStream().

template<class T_Distribution, class T_Regressor, class T_Splitter>
int CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::dsplitDim [protected]
 

num of discrete variables

Definition at line 57 of file regressiontree.h.

Referenced by CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::BinaryRegressionTree(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::InDim(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Infer(), and CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::SaveToStream().

template<class T_Distribution, class T_Regressor, class T_Splitter>
int CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::emMaxIterations [protected]
 

num of iterations to get convergence for EM

Definition at line 66 of file regressiontree.h.

Referenced by CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::BinaryRegressionTree(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Identify(), and CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::SetOption().

template<class T_Distribution, class T_Regressor, class T_Splitter>
int CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::emRestarts [protected]
 

num of restarts of EM to get a good initial starting point

Definition at line 69 of file regressiontree.h.

Referenced by CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::BinaryRegressionTree(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Identify(), and CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::SetOption().

template<class T_Distribution, class T_Regressor, class T_Splitter>
int CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::inferMaxNodeId [protected]
 

Definition at line 81 of file regressiontree.h.

Referenced by CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::BinaryRegressionTree(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Infer(), and CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::SetOption().

template<class T_Distribution, class T_Regressor, class T_Splitter>
int CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::min_no_datapoints [protected]
 

the minimum number of datapoints in a node to split further

Definition at line 72 of file regressiontree.h.

Referenced by CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::BinaryRegressionTree(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Identify(), and CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::SetOption().

template<class T_Distribution, class T_Regressor, class T_Splitter>
int CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::regDim [protected]
 

num of regression variables

Definition at line 63 of file regressiontree.h.

Referenced by CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::BinaryRegressionTree(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Identify(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::InDim(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Infer(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Prune(), and CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::SaveToStream().

template<class T_Distribution, class T_Regressor, class T_Splitter>
BinaryRegressionTreeNode< T_Distribution, T_Regressor, T_Splitter>* CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::root [protected]
 

Definition at line 51 of file regressiontree.h.

Referenced by CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Identify(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Infer(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::PrintSizesTree(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Prune(), and CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::SaveToStream().

template<class T_Distribution, class T_Regressor, class T_Splitter>
T_Distribution* CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::rootDistribution [protected]
 

Definition at line 80 of file regressiontree.h.

Referenced by CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::BinaryRegressionTree(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Identify(), and CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::~BinaryRegressionTree().

template<class T_Distribution, class T_Regressor, class T_Splitter>
int CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::splitType [protected]
 

type of split to be passed to splitter, splitter dependent

Definition at line 75 of file regressiontree.h.

Referenced by CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::BinaryRegressionTree(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Identify(), and CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::SetOption().

template<class T_Distribution, class T_Regressor, class T_Splitter>
double CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::threshold [protected]
 

threshold for considering a branch irrelevant

Definition at line 78 of file regressiontree.h.

Referenced by CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::BinaryRegressionTree(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Identify(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Infer(), CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::Prune(), and CLUS::BinaryRegressionTree< T_Distribution, T_Regressor, T_Splitter >::SetOption().


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