SHOGUN  v1.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
List of all members | 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]

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
- Public Member Functions inherited from CDistanceMachine
 CDistanceMachine ()
virtual ~CDistanceMachine ()
void set_distance (CDistance *d)
CDistanceget_distance ()
void distances_lhs (float64_t *result, int32_t idx_a1, int32_t idx_a2, int32_t idx_b)
void distances_rhs (float64_t *result, int32_t idx_b1, int32_t idx_b2, int32_t idx_a)
- Public Member Functions inherited from CMachine
 CMachine ()
virtual ~CMachine ()
virtual bool train (CFeatures *data=NULL)
virtual void set_labels (CLabels *lab)
virtual CLabelsget_labels ()
virtual float64_t get_label (int32_t i)
void set_max_train_time (float64_t t)
float64_t get_max_train_time ()
void set_solver_type (ESolverType st)
ESolverType get_solver_type ()
virtual void set_store_model_features (bool store_model)
- Public Member Functions inherited from CSGObject
 CSGObject ()
 CSGObject (const CSGObject &orig)
virtual ~CSGObject ()
virtual bool is_generic (EPrimitiveType *generic) const
template<class T >
void set_generic ()
void unset_generic ()
virtual void print_serializable (const char *prefix="")
virtual bool save_serializable (CSerializableFile *file, const char *prefix="")
virtual bool load_serializable (CSerializableFile *file, const char *prefix="")
void set_global_io (SGIO *io)
SGIOget_global_io ()
void set_global_parallel (Parallel *parallel)
Parallelget_global_parallel ()
void set_global_version (Version *version)
Versionget_global_version ()
SGVector< char * > get_modelsel_names ()
char * get_modsel_param_descr (const char *param_name)
index_t get_modsel_param_index (const char *param_name)

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
- Protected Attributes inherited from CDistanceMachine
CDistancedistance
- Protected Attributes inherited from CMachine
float64_t max_train_time
CLabelslabels
ESolverType solver_type
bool m_store_model_features

Additional Inherited Members

- Public Attributes inherited from CSGObject
SGIOio
Parallelparallel
Versionversion
Parameterm_parameters
Parameterm_model_selection_parameters
- Static Protected Member Functions inherited from CDistanceMachine
static void * run_distance_thread_lhs (void *p)
static void * run_distance_thread_rhs (void *p)

Constructor & Destructor Documentation

default constructor

Definition at line 34 of file Hierarchical.cpp.

CHierarchical ( int32_t  merges,
CDistance d 
)

constructor

Parameters
mergesthe merges
ddistance

Definition at line 40 of file Hierarchical.cpp.

~CHierarchical ( )
virtual

Definition at line 47 of file Hierarchical.cpp.

Member Function Documentation

CLabels * apply ( )
protectedvirtual

NOT IMPLEMENTED

Reimplemented from CDistanceMachine.

Definition at line 204 of file Hierarchical.cpp.

CLabels * apply ( CFeatures data)
protectedvirtual

NOT IMPLEMENTED

Reimplemented from CDistanceMachine.

Definition at line 199 of file Hierarchical.cpp.

float64_t apply ( int32_t  num)
protectedvirtual

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
srcfilefile 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
dstfilefile 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
mnew merges

Definition at line 75 of file Hierarchical.h.

void store_model_features ( )
protectedvirtual

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)
protectedvirtual

estimate hierarchical clustering

Parameters
datatraining 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:

SHOGUN Machine Learning Toolbox - Documentation