Clustering - accord-net/framework GitHub Wiki
Clustering problems
Unsupervised classification
Knowledge discovery
Models
K-Means
using Accord.MachineLearning;
Accord.Math.Random.Generator.Seed = 0;
// Declare some observations
double[][] observations =
{
new double[] { -5, -2, -1 },
new double[] { -5, -5, -6 },
new double[] { 2, 1, 1 },
new double[] { 1, 1, 2 },
new double[] { 1, 2, 2 },
new double[] { 3, 1, 2 },
new double[] { 11, 5, 4 },
new double[] { 15, 5, 6 },
new double[] { 10, 5, 6 },
};
// Create a new K-Means algorithm with 3 clusters
KMeans kmeans = new KMeans(3);
// Compute the algorithm, retrieving an integer array
// containing the labels for each of the observations
KMeansClusterCollection clusters = kmeans.Learn(observations);
// As a result, the first two observations should belong to the
// same cluster (thus having the same label). The same should
// happen to the next four observations and to the last three.
int[] labels = clusters.Decide(observations);
Binary Split
Mean Shift
Gaussian Mixture Models