Public Member Functions | Protected Member Functions | Protected Attributes

CHierarchical Class Reference


Detailed Description

Agglomerative hierarchical single linkage clustering.

Starting with each object being assigned to its own cluster clusters are iteratively merged. Here the clusters are merged whose elements have minimum distance, i.e. the clusters A and B that obtain

\[ \min\{d({\bf x},{\bf x'}): {\bf x}\in {\cal A},{\bf x'}\in {\cal B}\} \]

are merged.

cf e.g. http://en.wikipedia.org/wiki/Data_clustering

Definition at line 37 of file Hierarchical.h.

Inheritance diagram for CHierarchical:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 CHierarchical ()
 CHierarchical (int32_t merges, CDistance *d)
virtual ~CHierarchical ()
virtual EClassifierType get_classifier_type ()
virtual bool load (FILE *srcfile)
virtual bool save (FILE *dstfile)
void set_merges (int32_t m)
int32_t get_merges ()
SGVector< int32_t > get_assignment ()
SGVector< float64_tget_merge_distances ()
SGMatrix< int32_t > get_cluster_pairs ()
virtual const char * get_name () const

Protected Member Functions

virtual bool train_machine (CFeatures *data=NULL)
virtual void store_model_features ()
virtual CLabelsapply ()
virtual CLabelsapply (CFeatures *data)
virtual float64_t apply (int32_t num)

Protected Attributes

int32_t merges
 the number of merges in hierarchical clustering
int32_t dimensions
 number of dimensions
int32_t assignment_size
 size of assignment table
int32_t * assignment
 cluster assignment for the num_points
int32_t table_size
 size of the below tables
int32_t * pairs
 tuples of i/j
float64_tmerge_distance
 distance at which pair i/j was added

Constructor & Destructor Documentation

CHierarchical (  ) 

default constructor

Definition at line 34 of file Hierarchical.cpp.

CHierarchical ( int32_t  merges,
CDistance d 
)

constructor

Parameters:
merges the merges
d distance

Definition at line 40 of file Hierarchical.cpp.

~CHierarchical (  )  [virtual]

Definition at line 47 of file Hierarchical.cpp.


Member Function Documentation

CLabels * apply (  )  [protected, virtual]

NOT IMPLEMENTED

Reimplemented from CDistanceMachine.

Definition at line 204 of file Hierarchical.cpp.

CLabels * apply ( CFeatures data  )  [protected, virtual]

NOT IMPLEMENTED

Reimplemented from CDistanceMachine.

Definition at line 199 of file Hierarchical.cpp.

float64_t apply ( int32_t  num  )  [protected, virtual]

NOT IMPLEMENTED

Reimplemented from CDistanceMachine.

Definition at line 210 of file Hierarchical.cpp.

SGVector< int32_t > get_assignment (  ) 

get assignment

Definition at line 178 of file Hierarchical.cpp.

EClassifierType get_classifier_type (  )  [virtual]

get classifier type

Returns:
classifier type HIERARCHICAL

Reimplemented from CMachine.

Definition at line 54 of file Hierarchical.cpp.

SGMatrix< int32_t > get_cluster_pairs (  ) 

get cluster pairs

Definition at line 188 of file Hierarchical.cpp.

SGVector< float64_t > get_merge_distances (  ) 

get merge distance

Definition at line 183 of file Hierarchical.cpp.

int32_t get_merges (  ) 

get merges

Returns:
merges

Definition at line 173 of file Hierarchical.cpp.

virtual const char* get_name (  )  const [virtual]
Returns:
object name

Reimplemented from CDistanceMachine.

Definition at line 103 of file Hierarchical.h.

bool load ( FILE *  srcfile  )  [virtual]

load distance machine from file

Parameters:
srcfile file to load from
Returns:
if loading was successful

Reimplemented from CMachine.

Definition at line 158 of file Hierarchical.cpp.

bool save ( FILE *  dstfile  )  [virtual]

save distance machine to file

Parameters:
dstfile file to save to
Returns:
if saving was successful

Reimplemented from CMachine.

Definition at line 165 of file Hierarchical.cpp.

void set_merges ( int32_t  m  ) 

set merges

Parameters:
m new merges

Definition at line 75 of file Hierarchical.h.

void store_model_features (  )  [protected, virtual]

TODO: Ensures cluster centers are in lhs of underlying distance Currently: does nothing.

Reimplemented from CDistanceMachine.

Definition at line 194 of file Hierarchical.cpp.

bool train_machine ( CFeatures data = NULL  )  [protected, virtual]

estimate hierarchical clustering

Parameters:
data training data (parameter can be avoided if distance or kernel-based classifiers are used and distance/kernels are initialized with train data)
Returns:
whether training was successful

Reimplemented from CMachine.

Definition at line 59 of file Hierarchical.cpp.


Member Data Documentation

int32_t* assignment [protected]

cluster assignment for the num_points

Definition at line 141 of file Hierarchical.h.

int32_t assignment_size [protected]

size of assignment table

Definition at line 138 of file Hierarchical.h.

int32_t dimensions [protected]

number of dimensions

Definition at line 135 of file Hierarchical.h.

float64_t* merge_distance [protected]

distance at which pair i/j was added

Definition at line 150 of file Hierarchical.h.

int32_t merges [protected]

the number of merges in hierarchical clustering

Definition at line 132 of file Hierarchical.h.

int32_t* pairs [protected]

tuples of i/j

Definition at line 147 of file Hierarchical.h.

int32_t table_size [protected]

size of the below tables

Definition at line 144 of file Hierarchical.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

SHOGUN Machine Learning Toolbox - Documentation