Sleipnir
Static Public Member Functions
Sleipnir::CClustPivot Class Reference

Utility class containing static pivot clustering methods. More...

#include <clustpivot.h>

Static Public Member Functions

static uint16_t Cluster (const CDistanceMatrix &MatSimilarities, float dCutoff, std::vector< uint16_t > &vecsClusters)
 Implements a randomized pivot clustering algorithm due to Ailon and Charikar.

Detailed Description

Utility class containing static pivot clustering methods.

Definition at line 37 of file clustpivot.h.


Member Function Documentation

uint16_t Sleipnir::CClustPivot::Cluster ( const CDistanceMatrix MatSimilarities,
float  dCutoff,
std::vector< uint16_t > &  vecsClusters 
) [static]

Implements a randomized pivot clustering algorithm due to Ailon and Charikar.

Parameters:
MatSimilaritiesMatrix of similarity scores between each pair of elements.
dCutoffDescription of parameter dCutoff.
vecsClustersOutput cluster IDs for each gene.
Returns:
Total number of clusters.

Performs a hard clustering of a set of elements using the randomized pivot algorithm due to Ailon and Charikar. This places each gene in exactly one cluster. Briefly, an unclustered gene is chosen at random to be the current pivot. Each gene more similar than the given cutoff is placed in that pivot's cluster. This process is iterated until all genes are clustered. This algorithm has some nice theoretical properties, but in practice, it doesn't do so hot at uncovering useful biological information.

Remarks:
On successful return, the size of vecsClusters will be equal to the size of MatSimilarities.
See also:
CClustKMeans::Cluster

Definition at line 56 of file clustpivot.cpp.

References Sleipnir::CHalfMatrix< tType >::Get(), Sleipnir::CHalfMatrix< tType >::GetSize(), and Sleipnir::CMeta::IsNaN().


The documentation for this class was generated from the following files: