Does Matlab provide any facility for evaluating clustering methods? (cluster compactness and cluster separation. ....) Or is there any toolbox for it?
Asked
Active
Viewed 6,938 times
4 Answers
5
Matlab provides Silhouette index and there is a toolbox CVAP: Cluster Validity Analysis Platform for Matlab. Which includes following validity indexes:
- Davies-Bouldin
- Calinski-Harabasz
- Dunn index
- R-squared index
- Hubert-Levin (C-index)
- Krzanowski-Lai index
- Hartigan index
- Root-mean-square standard deviation (RMSSTD) index
- Semi-partial R-squared (SPR) index
- Distance between two clusters (CD) index
- weighted inter-intra index
- Homogeneity index
- Separation index
Note that you might need precompiled LIBRA binaries for your platform.

Tombart
- 30,520
- 16
- 123
- 136
4
You can try Silhouette plot from the Statistical toolbox.
For an example see this documentation.

yuk
- 19,098
- 13
- 68
- 99
-
Thank. But I want use validation function as fitness/goal function for particle swarm clustering. – Handsome Nerd Apr 28 '12 at 20:10
4
Not in Matlab, but ELKI (Java) provides a dozen or so cluster quality measures for evaluation.

Has QUIT--Anony-Mousse
- 76,138
- 12
- 138
- 194
3
Be aware that the Silhouette in Matlab has some strange behavior for singleton clusters. It assigns a score of 1 for singletons, when, for me, a more reasonable approach would be to give 0 for these clusters. In the Matlab implementation, if you give number of clusters as number of objects, Silhouette will give you a score of 1.

Dr. No
- 156
- 1
- 7