Bsoft 2.1.4
Bernard's software package
cluster.cpp File Reference

Clustering functions. More...

#include "cluster.h"
#include "utilities.h"

Functions

vector< long > k_means (long n, float *data, long k)
 Generate clusters using a K-means algorithm. More...
 
vector< long > affin_prop_clustering (Matrix s, long maxit, long convit, double lambda, long &ncluster)
 Generate clusters from a similarity matrix using affinity propagation.
More...
 

Variables

int verbose
 

Detailed Description

Clustering functions.

Author
Bernard Heymann
Date
Created: 20070417
Modified: 20210508

Function Documentation

◆ affin_prop_clustering()

vector< long > affin_prop_clustering ( Matrix  s,
long  maxit,
long  convit,
double  lambda,
long &  ncluster 
)

Generate clusters from a similarity matrix using affinity propagation.

Parameters
sn x n similarity matrix.
maxitmaximum iterations.
convitconvergence iterations.
lambdadamping factor.
&nclusternumber of clusters.
Returns
vector<long> vector of cluster memberships.
Frey, B. J. and D. Dueck (2007). "Clustering by passing messages between 
data points." Science 315(5814): 972-6.
The clustering algorithm proceeds iteratively for a given maximum iterations.
If the cluster solution does not change for a given number of iterations
(convit), convergence is assumed and the function finishes.
The damping factor should be ~0.5, or at least between 0.1 and 0.9.
For larger damping factors, more convergence iterations are required.
The diagonal of the matrix should be set to preferences for exemplars
(typically the average or median of the similarities).

◆ k_means()

vector< long > k_means ( long  n,
float *  data,
long  k 
)

Generate clusters using a K-means algorithm.

Parameters
nnumber of data elements.
*datafloating point array.
knumber of classes.
Returns
vector<long> vector of cluster memberships.

Variable Documentation

◆ verbose

int verbose
extern