OpenMS
|
AverageLinkage ClusterMethod. More...
#include <OpenMS/COMPARISON/CLUSTERING/AverageLinkage.h>
Public Member Functions | |
AverageLinkage () | |
default constructor More... | |
AverageLinkage (const AverageLinkage &source) | |
copy constructor More... | |
~AverageLinkage () override | |
destructor More... | |
AverageLinkage & | operator= (const AverageLinkage &source) |
assignment operator More... | |
void | operator() (DistanceMatrix< float > &original_distance, std::vector< BinaryTreeNode > &cluster_tree, const float threshold=1) const override |
clusters the indices according to their respective element distances More... | |
Public Member Functions inherited from ClusterFunctor | |
ClusterFunctor () | |
default constructor More... | |
ClusterFunctor (const ClusterFunctor &source) | |
copy constructor More... | |
virtual | ~ClusterFunctor () |
destructor More... | |
ClusterFunctor & | operator= (const ClusterFunctor &source) |
assignment operator More... | |
Public Member Functions inherited from ProgressLogger | |
ProgressLogger () | |
Constructor. More... | |
virtual | ~ProgressLogger () |
Destructor. More... | |
ProgressLogger (const ProgressLogger &other) | |
Copy constructor. More... | |
ProgressLogger & | operator= (const ProgressLogger &other) |
Assignment Operator. More... | |
void | setLogType (LogType type) const |
Sets the progress log that should be used. The default type is NONE! More... | |
LogType | getLogType () const |
Returns the type of progress log being used. More... | |
void | startProgress (SignedSize begin, SignedSize end, const String &label) const |
Initializes the progress display. More... | |
void | setProgress (SignedSize value) const |
Sets the current progress. More... | |
void | endProgress () const |
Ends the progress display. More... | |
void | nextProgress () const |
increment progress by 1 (according to range begin-end) More... | |
Static Public Member Functions | |
static ClusterFunctor * | create () |
creates a new instance of a AverageLinkage object More... | |
static const String | getProductName () |
get the identifier for this object More... | |
Static Public Member Functions inherited from ClusterFunctor | |
static void | registerChildren () |
registers all derived products More... | |
Additional Inherited Members | |
Public Types inherited from ProgressLogger | |
enum | LogType { CMD , GUI , NONE } |
Possible log types. More... | |
Static Protected Member Functions inherited from ProgressLogger | |
static String | logTypeToFactoryName_ (LogType type) |
Return the name of the factory product used for this log type. More... | |
Protected Attributes inherited from ProgressLogger | |
LogType | type_ |
time_t | last_invoke_ |
ProgressLoggerImpl * | current_logger_ |
Static Protected Attributes inherited from ProgressLogger | |
static int | recursion_depth_ |
AverageLinkage ClusterMethod.
The details of the method can be found in: Backhaus, Erichson, Plinke, Weiber Multivariate Analysemethoden, Springer 2000 and Ellen M. Voorhees: Implementing agglomerative hierarchic clustering algorithms for use in document retrieval. Inf. Process. Manage. 22(6): 465-476 (1986)
AverageLinkage | ( | ) |
default constructor
AverageLinkage | ( | const AverageLinkage & | source | ) |
copy constructor
|
override |
destructor
|
static |
creates a new instance of a AverageLinkage object
|
static |
get the identifier for this object
|
overridevirtual |
clusters the indices according to their respective element distances
original_distance | DistanceMatrix<float> containing the distances of the elements to be clustered, will be changed during clustering process, make sure to have a copy or be able to redo |
cluster_tree | vector< BinaryTreeNode >, represents the clustering, each node contains the next merged clusters (not element indices) and their distance, strict order is kept: left_child < right_child |
threshold | float value, the minimal distance from which on cluster merging is considered unrealistic. By default set to 1, i.e. complete clustering until only one cluster remains |
ClusterFunctor::InsufficientInput | thrown if input is <2 The clustering method is average linkage, where the updated distances after merging two clusters are each the average distances between the elements of their clusters. After threshold is exceeded, cluster_tree is filled with dummy clusteringsteps (children: (0,1), distance: -1) to the root. |
Implements ClusterFunctor.
AverageLinkage& operator= | ( | const AverageLinkage & | source | ) |
assignment operator