Clustering Library (ClusteringLib)


getOptimalK
to get an optimal optimal number of clusters with automatic clustering using Valley Tracing
(1. Ali Ridho Barakbah, Kohei Arai, "Identifying moving variance to make automatic clustering for normal data set", IECI Japan Workshop 2004 (IJW 2004), May 22, 2004, Musashi Institute of Technology, Tokyo)
(2. Ali Ridho Barakbah, Kohei Arai, "Reversed pattern of moving variance for accelerating automatic clustering", EEPIS journal, pp.15-21, Vol. 9, No. 2, December 2004, Surabaya, Indonesia.)



FUNCTIONS

double[] - getOptimalK(String algorithm, int[][] data)
double[] - getOptimalK(String algorithm, double[][] data)
double[] - getOptimalK(String algorithm, int[][] data, int n_interval)
double[] - getOptimalK(String algorithm, double[][] data, int n_interval)


Note:
Algorithm can be single, centroid, complete, or average.



EXAMPLES

Example VectorLib vlib=new VectorLib();
ClusteringLib clib=new ClusteringLib();
Dataset_int dataset=new Dataset_int("ruspini", "supervised");

// Automatic Clustering using Centroid Linkage with default n_interval=10
double[] output=clib.getOptimalK("centroid", dataset.data);

vlib.view("Number of optimal clusters", output[0]);
vlib.view("Accuracy", output[1]);
Output Number of optimal clusters = 4.0

Accuracy = 9.997833522661287