6

Does Matlab provide any facility for evaluating clustering methods? (cluster compactness and cluster separation. ....) Or is there any toolbox for it?

Has QUIT--Anony-Mousse
  • 76,138
  • 12
  • 138
  • 194
Handsome Nerd
  • 17,114
  • 22
  • 95
  • 173

4 Answers4

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
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