9 #ifndef REDUKT_PAMCLUSTERING_H
10 #define REDUKT_PAMCLUSTERING_H
13 #include <boost/numeric/ublas/symmetric.hpp>
14 namespace ublas = boost::numeric::ublas;
18 #define PAMCLUSTERING_BRUTE_FORCE
31 typedef ublas::symmetric_matrix<double,ublas::lower>
matrix_type;
32 typedef std::vector<unsigned int>
ivec;
33 typedef std::vector<double>
dvec;
48 int cluster(
unsigned int maxIterations=10000 );
77 double avgDist(
unsigned int i,
unsigned int c );
80 #ifdef PAMCLUSTERING_BRUTE_FORCE
PAMClustering(const matrix_type &d, unsigned int k)
Definition: PAMClustering.cpp:19
std::vector< double > dvec
Definition: PAMClustering.h:33
void label()
Label each point with its nearest medoid.
Definition: PAMClustering.cpp:152
unsigned int numClusters() const
Definition: PAMClustering.h:63
~PAMClustering()
Definition: PAMClustering.cpp:44
const ivec & medoids() const
Definition: PAMClustering.h:61
const dvec & sils() const
Definition: PAMClustering.h:56
bool swap()
Definition: PAMClustering.cpp:258
ublas::symmetric_matrix< double, ublas::lower > matrix_type
Definition: PAMClustering.h:31
double avgDist(unsigned int i, unsigned int c)
Definition: PAMClustering.cpp:86
bool isSelected(unsigned int i)
Definition: PAMClustering.cpp:146
double calcSilhouette()
Definition: PAMClustering.cpp:110
std::vector< unsigned int > ivec
Definition: PAMClustering.h:32
const ivec & labels() const
Definition: PAMClustering.h:59
int cluster(unsigned int maxIterations=10000)
Definition: PAMClustering.cpp:70
double silCluster(unsigned int c)
Definition: PAMClustering.cpp:98
Definition: PAMClustering.h:28