#include <binarysplitter.h>
Inheritance diagram for CLUS::BinarySplitter:
Public Member Functions | |
BinarySplitter () | |
BinarySplitter (const Vector< int > &DDomainSize, int CsplitDim, int RegDim) | |
BinarySplitter (BinarySplitter &aux) | |
int | GetRegDim (void) |
int | GetCSplitDim (void) |
int | GetDSplitDim (void) |
const Vector< int > & | GetDDomainSize (void) |
int | ChooseBranch (const int *Dvars, const double *Cvars) |
Decides what branch to choose. | |
double | ProbabilityFirstBranch (const int *Dvars, const double *Cvars) |
Computes probability to take first branch. | |
void | InitializeSplitStatistics (void) |
Initializes the data structures used in split variable selection. | |
void | UpdateSplitStatistics (const int *Dvars, const double *Cvars, double p1, double p2) |
Updates the necessary statistics for split variable selection. | |
int | ComputeSplitVariable (int type) |
Decides on a split variable and frees the data structures used in split selection. | |
bool | MoreSplits (int branch, int Min_no_datapoints) |
Ask if it is worth doing more splits in the future. | |
void | DeleteTemporaryStatistics (void) |
Cleans up all the unnecessary statistics after the decision has been made. | |
void | SaveToStream (ostream &out) |
~BinarySplitter (void) | |
Protected Attributes | |
int | dsplitDim |
the number of discrete split variables (nonregressers) | |
int | csplitDim |
the number of continuous split variables (nonregressoers) | |
int | regDim |
the number of regressors | |
const Vector< int > & | dDomainSize |
list of discrete domain sizes | |
int | SplitVariable |
Indicates on what variable this node splits on. | |
Vector< double > | SeparatingHyperplane |
Contains the coeficients of the hyperplane that separates the 2 distributions in the input space. | |
Vector< double > | splitSetProbability |
Contains the probability for a value to be in the left partition. |
Specifies the interface
Definition at line 48 of file binarysplitter.h.
|
Definition at line 76 of file binarysplitter.h. |
|
Definition at line 79 of file binarysplitter.h. |
|
Definition at line 85 of file binarysplitter.h. |
|
Definition at line 175 of file binarysplitter.h. |
|
Decides what branch to choose.
Reimplemented in CLUS::BinaryObliqueSplitter. Definition at line 111 of file binarysplitter.h. Referenced by ProbabilityFirstBranch(). |
|
Decides on a split variable and frees the data structures used in split selection.
Reimplemented in CLUS::BinaryObliqueSplitter. Definition at line 134 of file binarysplitter.h. |
|
Cleans up all the unnecessary statistics after the decision has been made.
Reimplemented in CLUS::BinaryObliqueSplitter. Definition at line 146 of file binarysplitter.h. |
|
Definition at line 95 of file binarysplitter.h. |
|
Definition at line 105 of file binarysplitter.h. |
|
Definition at line 100 of file binarysplitter.h. |
|
Definition at line 91 of file binarysplitter.h. |
|
Initializes the data structures used in split variable selection.
Reimplemented in CLUS::BinaryObliqueSplitter. Definition at line 125 of file binarysplitter.h. |
|
Ask if it is worth doing more splits in the future.
Reimplemented in CLUS::BinaryObliqueSplitter. Definition at line 140 of file binarysplitter.h. |
|
Computes probability to take first branch. Need this to accomodate probabilistic splitters Definition at line 116 of file binarysplitter.h. |
|
Definition at line 149 of file binarysplitter.h. |
|
Updates the necessary statistics for split variable selection.
Definition at line 129 of file binarysplitter.h. |
|
the number of continuous split variables (nonregressoers)
Definition at line 55 of file binarysplitter.h. Referenced by BinarySplitter(), GetCSplitDim(), CLUS::BinaryObliqueSplitter::InitializeSplitStatistics(), and CLUS::BinaryObliqueSplitter::ProbabilityLeftPrivate(). |
|
list of discrete domain sizes
Definition at line 61 of file binarysplitter.h. Referenced by BinarySplitter(), GetDDomainSize(), and CLUS::BinaryObliqueSplitter::InitializeSplitStatistics(). |
|
the number of discrete split variables (nonregressers)
Definition at line 52 of file binarysplitter.h. Referenced by BinarySplitter(), CLUS::BinaryObliqueSplitter::ComputeSplitVariable(), GetDSplitDim(), CLUS::BinaryObliqueSplitter::InitializeSplitStatistics(), and CLUS::BinaryObliqueSplitter::UpdateSplitStatistics(). |
|
the number of regressors
Definition at line 58 of file binarysplitter.h. Referenced by BinarySplitter(), GetRegDim(), CLUS::BinaryObliqueSplitter::InitializeSplitStatistics(), and CLUS::BinaryObliqueSplitter::ProbabilityLeftPrivate(). |
|
Contains the coeficients of the hyperplane that separates the 2 distributions in the input space. This is an oblique split Definition at line 69 of file binarysplitter.h. Referenced by BinarySplitter(), CLUS::BinaryObliqueSplitter::ComputeSplitVariable(), CLUS::BinaryObliqueSplitter::ProbabilityLeftPrivate(), and SaveToStream(). |
|
Contains the probability for a value to be in the left partition. In traditional classifiers is set to 1.0 or 0.0 Definition at line 73 of file binarysplitter.h. Referenced by BinarySplitter(), CLUS::BinaryObliqueSplitter::ComputeSplitVariable(), CLUS::BinaryObliqueSplitter::ProbabilityLeftPrivate(), and SaveToStream(). |
|
Indicates on what variable this node splits on. If -1 we have an oblique split. Definition at line 65 of file binarysplitter.h. Referenced by CLUS::BinaryObliqueSplitter::ComputeSplitVariable(), CLUS::BinaryObliqueSplitter::ProbabilityLeftPrivate(), and SaveToStream(). |