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

CLUS::Cluster Class Reference

Cluster is the abstract base class for cluster hierarchy. More...

#include <cluster.h>

Inheritance diagram for CLUS::Cluster:

Inheritance graph
[legend]

Public Types

enum  State { Final, Splited, Splitable, Dead }

Public Member Functions

 Cluster (int InDim=0, int OutDim=0)
State GetState (void)
void RandomCluster (void)
 Initializes the cluster with random values.

void InitalizeOnPoint (const double *)
double InferDistance (const double *DataCache)
double ClusDistance (const double *DataCache)
double LastInferDistance (void)
double LastClusDistance (void)
void CorrectAppartGrade (double Coef)
 Called after all distances of the clusters have been computed so the ponder of each cluster in final result can be computed.

void HCorrectAppartGrade (double Coef)
double AdjustPrototypes (void)
 Finalizes one big step of the identification process.

double HAdjustPrototypes (void)
void AdjustYwithYoverD (Vector< double > &Y)
void AdjustYwithYoverD (Vector< double > &Y, double)
double ComputeLastY (void)
 Returns the consequent value of the cluster for the last input introduced as a parameter of Distance.

void SaveToStream (ostream &)
void LoadFromStream (ostream &)
bool Split (Cluster &right, Cluster &save)
bool SetOptionDbl (char *optName, double value)

Static Public Member Functions

string TypeName (void)

Protected Attributes

int inDim
int outDim
const double * dataCache
double distanceInfer
double distanceClus
double weight
double dimension
State state

Detailed Description

Cluster is the abstract base class for cluster hierarchy.

This class can both identify and run a cluster. The H in front of distance functions means that that distance is used for the hierarchical version of the algorithm

Definition at line 52 of file cluster.h.


Member Enumeration Documentation

enum CLUS::Cluster::State
 

Enumeration values:
Final 
Splited 
Splitable 
Dead 

Definition at line 55 of file cluster.h.

Referenced by GetState().


Constructor & Destructor Documentation

CLUS::Cluster::Cluster int  InDim = 0,
int  OutDim = 0
[inline]
 

Definition at line 66 of file cluster.h.


Member Function Documentation

double CLUS::Cluster::AdjustPrototypes void   )  [inline]
 

Finalizes one big step of the identification process.

Computes the new prototype of the cluster and returns the distance between the old and the new prototype so a decision if the proces should continue can be taken

Reimplemented in CLUS::HiperPlanCluster, and CLUS::SphericCluster.

Definition at line 118 of file cluster.h.

void CLUS::Cluster::AdjustYwithYoverD Vector< double > &  Y,
double 
[inline]
 

Reimplemented in CLUS::HiperPlanCluster, and CLUS::SphericCluster.

Definition at line 131 of file cluster.h.

void CLUS::Cluster::AdjustYwithYoverD Vector< double > &  Y  )  [inline]
 

Reimplemented in CLUS::HiperPlanCluster, and CLUS::SphericCluster.

Definition at line 128 of file cluster.h.

double CLUS::Cluster::ClusDistance const double *  DataCache  )  [inline]
 

Reimplemented in CLUS::EMHiperPlan, CLUS::HiperPlanCluster, and CLUS::SphericCluster.

Definition at line 88 of file cluster.h.

double CLUS::Cluster::ComputeLastY void   )  [inline]
 

Returns the consequent value of the cluster for the last input introduced as a parameter of Distance.

Reimplemented in CLUS::HiperPlanCluster, and CLUS::SphericCluster.

Definition at line 136 of file cluster.h.

void CLUS::Cluster::CorrectAppartGrade double  Coef  )  [inline]
 

Called after all distances of the clusters have been computed so the ponder of each cluster in final result can be computed.

Reimplemented in CLUS::HiperPlanCluster, and CLUS::SphericCluster.

Definition at line 106 of file cluster.h.

State CLUS::Cluster::GetState void   )  [inline]
 

Definition at line 71 of file cluster.h.

double CLUS::Cluster::HAdjustPrototypes void   )  [inline]
 

Reimplemented in CLUS::HiperPlanCluster, and CLUS::SphericCluster.

Definition at line 123 of file cluster.h.

void CLUS::Cluster::HCorrectAppartGrade double  Coef  )  [inline]
 

Reimplemented in CLUS::HiperPlanCluster, and CLUS::SphericCluster.

Definition at line 109 of file cluster.h.

double CLUS::Cluster::InferDistance const double *  DataCache  )  [inline]
 

Reimplemented in CLUS::EMHiperPlan, CLUS::HiperPlanCluster, and CLUS::SphericCluster.

Definition at line 83 of file cluster.h.

void CLUS::Cluster::InitalizeOnPoint const double *   )  [inline]
 

Definition at line 80 of file cluster.h.

double CLUS::Cluster::LastClusDistance void   )  [inline]
 

Definition at line 98 of file cluster.h.

double CLUS::Cluster::LastInferDistance void   )  [inline]
 

Definition at line 93 of file cluster.h.

void CLUS::Cluster::LoadFromStream ostream &   )  [inline]
 

Definition at line 149 of file cluster.h.

void CLUS::Cluster::RandomCluster void   )  [inline]
 

Initializes the cluster with random values.

Reimplemented in CLUS::HiperPlanCluster, and CLUS::SphericCluster.

Definition at line 77 of file cluster.h.

void CLUS::Cluster::SaveToStream ostream &   )  [inline]
 

Reimplemented in CLUS::EMHiperPlan, CLUS::HiperPlanCluster, CLUS::SkinyMultiDimNormal, and CLUS::SphericCluster.

Definition at line 146 of file cluster.h.

bool CLUS::Cluster::SetOptionDbl char *  optName,
double  value
[inline]
 

Reimplemented in CLUS::EMHiperPlan, and CLUS::HiperPlanCluster.

Definition at line 157 of file cluster.h.

bool CLUS::Cluster::Split Cluster right,
Cluster save
[inline]
 

Definition at line 152 of file cluster.h.

string CLUS::Cluster::TypeName void   )  [inline, static]
 

Reimplemented in CLUS::EMHiperPlan, CLUS::HiperPlanCluster, CLUS::SkinyMultiDimNormal, and CLUS::SphericCluster.

Definition at line 141 of file cluster.h.


Field Documentation

const double* CLUS::Cluster::dataCache [protected]
 

Definition at line 59 of file cluster.h.

Referenced by CLUS::HiperPlanCluster::AdjustYwithYoverD(), CLUS::SphericCluster::ClusDistance(), CLUS::HiperPlanCluster::ClusDistance(), Cluster(), CLUS::HiperPlanCluster::ComputeLastY(), CLUS::EMHiperPlan::CorrectApartGrade(), CLUS::SphericCluster::CorrectAppartGrade(), CLUS::HiperPlanCluster::CorrectAppartGrade(), CLUS::SphericCluster::InferDistance(), and CLUS::HiperPlanCluster::InferDistance().

double CLUS::Cluster::dimension [protected]
 

Definition at line 62 of file cluster.h.

Referenced by CLUS::SphericCluster::CheckSplit(), CLUS::HiperPlanCluster::CheckSplit(), CLUS::SphericCluster::CopyFrom(), CLUS::HiperPlanCluster::CopyFrom(), CLUS::SphericCluster::HAdjustPrototypes(), CLUS::HiperPlanCluster::HAdjustPrototypes(), CLUS::SphericCluster::HBeginIdentif(), CLUS::SphericCluster::HCorrectAppartGrade(), CLUS::HiperPlanCluster::HCorrectAppartGrade(), CLUS::SphericCluster::Split(), and CLUS::HiperPlanCluster::Split().

double CLUS::Cluster::distanceClus [protected]
 

Definition at line 60 of file cluster.h.

Referenced by CLUS::SphericCluster::ClusDistance(), CLUS::HiperPlanCluster::ClusDistance(), CLUS::EMHiperPlan::ClusDistance(), Cluster(), CLUS::EMHiperPlan::CorrectApartGrade(), CLUS::SphericCluster::CorrectAppartGrade(), CLUS::HiperPlanCluster::CorrectAppartGrade(), and LastClusDistance().

double CLUS::Cluster::distanceInfer [protected]
 

Definition at line 60 of file cluster.h.

Referenced by CLUS::SphericCluster::AdjustYwithYoverD(), CLUS::HiperPlanCluster::AdjustYwithYoverD(), CLUS::SphericCluster::ClusDistance(), Cluster(), CLUS::SphericCluster::InferDistance(), CLUS::HiperPlanCluster::InferDistance(), CLUS::EMHiperPlan::InferDistance(), and LastInferDistance().

int CLUS::Cluster::inDim [protected]
 

Definition at line 58 of file cluster.h.

Referenced by CLUS::SphericCluster::AdjustPrototypes(), CLUS::HiperPlanCluster::AdjustPrototypes(), CLUS::SphericCluster::AdjustYwithYoverD(), CLUS::HiperPlanCluster::AdjustYwithYoverD(), CLUS::SphericCluster::ClusDistance(), CLUS::HiperPlanCluster::ClusDistance(), Cluster(), CLUS::HiperPlanCluster::ComputeCCoef(), CLUS::SphericCluster::ComputeLastY(), CLUS::HiperPlanCluster::ComputeLastY(), CLUS::HiperPlanCluster::ComputeU(), CLUS::EMHiperPlan::CorrectApartGrade(), CLUS::SphericCluster::CorrectAppartGrade(), CLUS::HiperPlanCluster::CorrectAppartGrade(), CLUS::SphericCluster::InferDistance(), CLUS::HiperPlanCluster::InferDistance(), CLUS::SphericCluster::InitializeOnPoint(), CLUS::HiperPlanCluster::InitializeOnPoint(), CLUS::SphericCluster::LoadFromStream(), CLUS::HiperPlanCluster::LoadFromStream(), CLUS::EMHiperPlan::LoadFromStream(), CLUS::SphericCluster::RandomCluster(), CLUS::HiperPlanCluster::RandomCluster(), CLUS::SphericCluster::SaveToStream(), CLUS::HiperPlanCluster::SaveToStream(), CLUS::EMHiperPlan::SaveToStream(), and CLUS::HiperPlanCluster::Split().

int CLUS::Cluster::outDim [protected]
 

Definition at line 58 of file cluster.h.

Referenced by CLUS::SphericCluster::AdjustPrototypes(), CLUS::SphericCluster::AdjustYwithYoverD(), CLUS::SphericCluster::ClusDistance(), Cluster(), CLUS::SphericCluster::ComputeLastY(), CLUS::SphericCluster::CorrectAppartGrade(), CLUS::SphericCluster::InitializeOnPoint(), CLUS::SphericCluster::LoadFromStream(), CLUS::SphericCluster::RandomCluster(), and CLUS::SphericCluster::SaveToStream().

State CLUS::Cluster::state [protected]
 

Definition at line 63 of file cluster.h.

Referenced by CLUS::SphericCluster::CheckSplit(), CLUS::HiperPlanCluster::CheckSplit(), Cluster(), CLUS::SphericCluster::CopyFrom(), CLUS::HiperPlanCluster::CopyFrom(), GetState(), CLUS::SphericCluster::Split(), and CLUS::HiperPlanCluster::Split().

double CLUS::Cluster::weight [protected]
 

Definition at line 61 of file cluster.h.

Referenced by CLUS::SphericCluster::CheckSplit(), CLUS::HiperPlanCluster::CheckSplit(), CLUS::SphericCluster::ClusDistance(), Cluster(), CLUS::SphericCluster::CopyFrom(), CLUS::HiperPlanCluster::CopyFrom(), CLUS::SphericCluster::InferDistance(), CLUS::HiperPlanCluster::InferDistance(), CLUS::SphericCluster::LoadFromStream(), CLUS::HiperPlanCluster::LoadFromStream(), CLUS::SphericCluster::SaveToStream(), CLUS::HiperPlanCluster::SaveToStream(), SetOptionDbl(), CLUS::SphericCluster::Split(), and CLUS::HiperPlanCluster::Split().


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