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

CLUS::MulticlassDistribution Class Reference

Base class for all distributions that can predict a discrete variable. More...

#include <multiclassdistribution.h>

Inheritance diagram for CLUS::MulticlassDistribution:

Inheritance graph
[legend]

Public Member Functions

 MulticlassDistribution (int NoClasses)
virtual ~MulticlassDistribution (void)
virtual void Infer (const double *cdata, const int *ddata, double *result)
 Infer will use data to produce noClasses normalized probabilities into result.

virtual void MultiplicativeInfer (const double *cdata, const int *ddata, double *result)
 MultiplicativeInfer uses data to produce probabilities and multiplies these probabilities with the ones in result.

virtual void StartLearning (void)
 Initialize the sufficient statistics that are maintained.

virtual void LearnSample (const double *cdata, const int *ddata, int classLabel, double weightSample=1.0)
 Update the sufficient statistics according to the current input.

virtual void LearnSample (const double *cdata, const int *ddata, double classProbabilities, double weightSample=1.0)
 Update the sufficient statistics according to the current input.

virtual void StopLearning (void)
 Uses the sufficient statistics to compute estimates of the parameters of the distribution.

virtual double PValueStatisticalTest (void)
 Returns the log of p-value=1-cdf of the apropriate statistical test.

void SaveToStream (ostream &output)
virtual bool IsClassLabelAbsent (int index)

Protected Attributes

int noClasses
 the number of classes the predicted variable has

double statisticalTest
 the value of the test that is usually computed during StopLearning


Detailed Description

Base class for all distributions that can predict a discrete variable.

The methods are virtual since not only one subclass is used in any given tree and is easier to let the virtual function mechanism kick in.

Definition at line 48 of file multiclassdistribution.h.


Constructor & Destructor Documentation

CLUS::MulticlassDistribution::MulticlassDistribution int  NoClasses  )  [inline]
 

Definition at line 57 of file multiclassdistribution.h.

virtual CLUS::MulticlassDistribution::~MulticlassDistribution void   )  [inline, virtual]
 

Definition at line 60 of file multiclassdistribution.h.


Member Function Documentation

virtual void CLUS::MulticlassDistribution::Infer const double *  cdata,
const int *  ddata,
double *  result
[inline, virtual]
 

Infer will use data to produce noClasses normalized probabilities into result.

Reimplemented in CLUS::MulticlassContinuousDistribution< T_Distribution >.

Definition at line 66 of file multiclassdistribution.h.

virtual bool CLUS::MulticlassDistribution::IsClassLabelAbsent int  index  )  [inline, virtual]
 

Returns:
true if the classLabel index has no significant apearance

Reimplemented in CLUS::MulticlassContinuousDistribution< T_Distribution >.

Definition at line 144 of file multiclassdistribution.h.

virtual void CLUS::MulticlassDistribution::LearnSample const double *  cdata,
const int *  ddata,
double  classProbabilities,
double  weightSample = 1.0
[inline, virtual]
 

Update the sufficient statistics according to the current input.

Should be used if the class label cannot be determined with certainty.

Parameters:
cdata contains values for the continuous variables
ddata for the discrete ones
classProbabilities classification probabilities
weightSample used to give different importance to the samples (magnifying glass effect).

Definition at line 109 of file multiclassdistribution.h.

virtual void CLUS::MulticlassDistribution::LearnSample const double *  cdata,
const int *  ddata,
int  classLabel,
double  weightSample = 1.0
[inline, virtual]
 

Update the sufficient statistics according to the current input.

Should be used if the class label is known for sure.

Parameters:
cdata contains values for the continuous variables
ddata for the discrete ones
classLabel known classification label
weightSample used to give different importance to the samples (magnifying glass effect).

Reimplemented in CLUS::MulticlassContinuousDistribution< T_Distribution >.

Definition at line 96 of file multiclassdistribution.h.

virtual void CLUS::MulticlassDistribution::MultiplicativeInfer const double *  cdata,
const int *  ddata,
double *  result
[inline, virtual]
 

MultiplicativeInfer uses data to produce probabilities and multiplies these probabilities with the ones in result.

Reimplemented in CLUS::MulticlassContinuousDistribution< T_Distribution >.

Definition at line 75 of file multiclassdistribution.h.

virtual double CLUS::MulticlassDistribution::PValueStatisticalTest void   )  [inline, virtual]
 

Returns the log of p-value=1-cdf of the apropriate statistical test.

In other words it returns the probability that randomly (no correlations between input and classlabel) we do as well. The smaller the p-value the more predictive the distribution. The criterion depends on the distribution. This function should be called only after StopLearning

Reimplemented in CLUS::MulticlassContinuousDistribution< T_Distribution >.

Definition at line 125 of file multiclassdistribution.h.

void CLUS::MulticlassDistribution::SaveToStream ostream &  output  )  [inline]
 

Definition at line 130 of file multiclassdistribution.h.

virtual void CLUS::MulticlassDistribution::StartLearning void   )  [inline, virtual]
 

Initialize the sufficient statistics that are maintained.

Reimplemented in CLUS::MulticlassContinuousDistribution< T_Distribution >.

Definition at line 84 of file multiclassdistribution.h.

virtual void CLUS::MulticlassDistribution::StopLearning void   )  [inline, virtual]
 

Uses the sufficient statistics to compute estimates of the parameters of the distribution.

Reimplemented in CLUS::MulticlassContinuousDistribution< T_Distribution >.

Definition at line 116 of file multiclassdistribution.h.


Field Documentation

int CLUS::MulticlassDistribution::noClasses [protected]
 

the number of classes the predicted variable has

Definition at line 52 of file multiclassdistribution.h.

Referenced by Infer(), CLUS::MulticlassContinuousDistribution< T_Distribution >::Infer(), CLUS::MulticlassContinuousDistribution< T_Distribution >::LearnSample(), MulticlassDistribution(), MultiplicativeInfer(), CLUS::MulticlassContinuousDistribution< T_Distribution >::MultiplicativeInfer(), CLUS::MulticlassContinuousDistribution< T_Distribution >::PValueStatisticalTest(), PValueStatisticalTest(), CLUS::MulticlassContinuousDistribution< T_Distribution >::StartLearning(), and CLUS::MulticlassContinuousDistribution< T_Distribution >::StopLearning().

double CLUS::MulticlassDistribution::statisticalTest [protected]
 

the value of the test that is usually computed during StopLearning

Definition at line 55 of file multiclassdistribution.h.


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