CSL.IDX {UniversalCVI} | R Documentation |
Chou-Su-Lai (CSL) index
Description
Computes the CSL (C. H. Chou et al., 2004) index for a result either kmeans or hierarchical clustering from user specified kmin
to kmax
.
Usage
CSL.IDX(x, kmax, kmin = 2, method = "kmeans", nstart = 100)
Arguments
x |
a numeric data frame or matrix where each column is a variable to be used for cluster analysis and each row is a data point. |
kmax |
a maximum number of clusters to be considered. |
kmin |
a minimum number of clusters to be considered. The default is |
method |
a character string indicating which clustering method to be used ( |
nstart |
a maximum number of initial random sets for kmeans for |
Details
The CSL index is defined as
CSL(k) = \frac{\sum_{i=1}^k \left\{\frac{1}{|C_i|}\sum_{x_j \in C_i} \max_{x_l \in C_i} d(x_j,x_l)\right\}}{\sum_{i=1}^k \left\{\min_{j:j \ne i}d(v_i,v_j)\right\}}.
The smallest value of CSL(k)
indicates a valid optimal partition.
Value
CSL |
the CSL index for |
Author(s)
Nathakhun Wiroonsri and Onthada Preedasawakul
References
C. H. Chou, M. C. Su, E. Lai, "A new cluster validity measure and its application to image compression," Pattern Anal Applic, 7, 205-220 (2004).
See Also
Hvalid, Wvalid, DI.IDX, FzzyCVIs, R1_data
Examples
library(UniversalCVI)
# The data is from Wiroonsri (2024).
x = R1_data[,1:2]
# ---- Kmeans ----
# Compute the CSL index
K.CSL = CSL.IDX(scale(x), kmax = 15, kmin = 2, method = "kmeans", nstart = 100)
print(K.CSL)
# The optimal number of cluster
K.CSL[which.min(K.CSL$CSL),]
# ---- Hierarchical ----
# Average linkage
# Compute the CSL index
H.CSL = CSL.IDX(scale(x), kmax = 15, kmin = 2, method = "hclust_average")
print(H.CSL)
# The optimal number of cluster
H.CSL[which.min(H.CSL$CSL),]