1 #ifndef HIERARCHICAL_CLUSTERING_H 2 #define HIERARCHICAL_CLUSTERING_H 22 if(d1.dist == d2.dist)
24 return d1.index < d2.index;
26 return d1.dist < d2.dist;
30 enum Type { SingleLinkage, CompleteLinkage, AverageLinkage };
33 void Build(
const std::vector<Vector>& data,
int K,Type type = SingleLinkage);
36 void Build(
const Matrix& dist,
int K,Type type = SingleLinkage);
39 const std::vector<int>&
Cluster(
int i)
const {
return A[i]; }
42 std::vector<std::vector<int> > A;
Contains all definitions in the statistics directory.
Definition: BernoulliDistribution.h:6
Basic statistical utilities.
Definition: HierarchicalClustering.h:8
Definition: HierarchicalClustering.h:11
const std::vector< int > & Cluster(int i) const
Returns the indices of the data elements in the i'th cluster.
Definition: HierarchicalClustering.h:39
void Build(const std::vector< Vector > &data, int K, Type type=SingleLinkage)
Builds the clustering using standard Euclidean distance.
Definition: HierarchicalClustering.cpp:7
Definition: HierarchicalClustering.h:18