Public 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 train (CFeatures *data=NULL)
virtual bool load (FILE *srcfile)
virtual bool save (FILE *dstfile)
void set_merges (int32_t m)
int32_t get_merges ()
void get_assignment (int32_t *&assign, int32_t &num)
void get_merge_distance (float64_t *&dist, int32_t &num)
void get_merge_distances (float64_t **dist, int32_t *num)
void get_pairs (int32_t *&tuples, int32_t &rows, int32_t &num)
void get_cluster_pairs (int32_t **tuples, int32_t *rows, int32_t *num)
virtual CLabelsclassify ()
virtual CLabelsclassify (CFeatures *data)
virtual const char * get_name () const

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

virtual CLabels* classify (  )  [virtual]

classify objects using the currently set features

Returns:
classified labels

Implements CDistanceMachine.

Definition at line 172 of file Hierarchical.h.

virtual CLabels* classify ( CFeatures data  )  [virtual]

classify objects

Parameters:
data (test)data to be classified
Returns:
classified labels

Implements CDistanceMachine.

Definition at line 183 of file Hierarchical.h.

void get_assignment ( int32_t *&  assign,
int32_t &  num 
)

get assignment

Parameters:
assign current assignment is stored in here
num number of assignments is stored in here

Definition at line 105 of file Hierarchical.h.

virtual EClassifierType get_classifier_type (  )  [virtual]

get classifier type

Returns:
classifier type HIERARCHICAL

Reimplemented from CClassifier.

Definition at line 55 of file Hierarchical.h.

void get_cluster_pairs ( int32_t **  tuples,
int32_t *  rows,
int32_t *  num 
)

get cluster pairs (swig compatible)

Parameters:
tuples current pairs are stored in here
rows number of rows is stored in here
num number of pairs is stored in here

Definition at line 156 of file Hierarchical.h.

void get_merge_distance ( float64_t *&  dist,
int32_t &  num 
)

get merge distance

Parameters:
dist current merge distance is stored in here
num number of merge distances is stored in here

Definition at line 116 of file Hierarchical.h.

void get_merge_distances ( float64_t **  dist,
int32_t *  num 
)

get merge distances (swig compatible)

Parameters:
dist current merge distances are stored in here
num number of merge distances are stored in here

Definition at line 127 of file Hierarchical.h.

int32_t get_merges (  ) 

get merges

Returns:
merges

Definition at line 95 of file Hierarchical.h.

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

Reimplemented from CDistanceMachine.

Definition at line 190 of file Hierarchical.h.

void get_pairs ( int32_t *&  tuples,
int32_t &  rows,
int32_t &  num 
)

get pairs

Parameters:
tuples current pairs are stored in here
rows number of rows is stored in here
num number of pairs is stored in here

Definition at line 143 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 CClassifier.

Definition at line 153 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 CClassifier.

Definition at line 160 of file Hierarchical.cpp.

void set_merges ( int32_t  m  ) 

set merges

Parameters:
m new merges

Definition at line 85 of file Hierarchical.h.

bool train ( CFeatures data = NULL  )  [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 CClassifier.

Definition at line 54 of file Hierarchical.cpp.


Member Data Documentation

int32_t* assignment [protected]

cluster assignment for the num_points

Definition at line 203 of file Hierarchical.h.

int32_t assignment_size [protected]

size of assignment table

Definition at line 200 of file Hierarchical.h.

int32_t dimensions [protected]

number of dimensions

Definition at line 197 of file Hierarchical.h.

float64_t* merge_distance [protected]

distance at which pair i/j was added

Definition at line 212 of file Hierarchical.h.

int32_t merges [protected]

the number of merges in hierarchical clustering

Definition at line 194 of file Hierarchical.h.

int32_t* pairs [protected]

tuples of i/j

Definition at line 209 of file Hierarchical.h.

int32_t table_size [protected]

size of the below tables

Definition at line 206 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