Sleipnir
|
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. |
Utility class containing static pivot clustering methods.
Definition at line 37 of file clustpivot.h.
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.
MatSimilarities | Matrix of similarity scores between each pair of elements. |
dCutoff | Description of parameter dCutoff. |
vecsClusters | Output cluster IDs for each gene. |
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.
Definition at line 56 of file clustpivot.cpp.
References Sleipnir::CHalfMatrix< tType >::Get(), Sleipnir::CHalfMatrix< tType >::GetSize(), and Sleipnir::CMeta::IsNaN().