问题
Does Matlab provide any facility for evaluating clustering methods? (cluster compactness and cluster separation. ....) Or is there any toolbox for it?
回答1:
Not in Matlab, but ELKI (Java) provides a dozen or so cluster quality measures for evaluation.
回答2:
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.
回答3:
You can try Silhouette plot from the Statistical toolbox.
For an example see this documentation.
回答4:
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.
来源:https://stackoverflow.com/questions/10365616/cluster-quality-measures