sc | R Documentation |
Computes the Separation-Compactness (Zahid et al, 1999) ratio index in order to validate the result of a fuzzy and/or possibilistic clustering analysis.
sc(x, u, v, m, t=NULL, eta, tidx="f")
x |
an object of class ‘ppclust’ containing the clustering results from a fuzzy clustering algorithm in the package ppclust. Alternatively, a numeric data frame or matrix containing the data set. |
u |
a numeric data frame or matrix containing the fuzzy membership values. It should be specified if |
v |
a numeric data frame or matrix containing the cluster prototypes. It should be specified if |
t |
a numeric data frame or matrix containing the cluster prototypes. It should be specified if |
m |
a number specifying the fuzzy exponent. It should be specified if |
eta |
a number specifying the typicality exponent. It should be specified if |
tidx |
a character specifying the type of index. The default is ‘f’ for fuzzy index. The other options are ‘e’ for extended and ‘g’ for generalized index. |
The formula of Separation-Compactness (SC) index is:
I_{SC}= SC_1 - SC_2
In the above equation:
SC_1 is a measure of fuzzy separation and is calculated as follows:
SC_1 = \frac{∑\limits_{j=1}^k ||\vec{v}_j - \bar{v}||^2/k}{∑\limits_{j=1}^k \Big(∑\limits_{i=1}^n (u_{ij})^m ||\vec{x}_i - \vec{v}_j||^2 / ∑\limits_{i=1}^n u_{ij} \Big)}
SC_2 is a measure of fuzzy compactness and is calculated as follows:
SC_2 = \frac{∑\limits_{j=1}^{k-1} ∑\limits_{l=1}^{k-j} \Big( ∑\limits_{i=1}^n (min(u_{ij}, u_{il})^2 / n_{jz} \Big)}{∑\limits_{i=1}^n \max\limits_{1 ≤q j ≤q k} (u_{ij})^2 / ∑\limits_{i=1}^n \max\limits_{1 ≤q j ≤q k} u_{ij}}
Where: z=j+l.
Larger values of SC_1 indicate that the fuzzy partition is considered well-separated and compact while smaller values of SC_2 indicate compact and well-separated fuzzy clusters correspond to the partioning. The maximum of I_{SC} is expected to detect well-defined fuzzy partition (Zahid et al, 1999).
sc |
SC index value if |
sc.e |
extended SC index value if |
sc.g |
generalized SC index value if |
Zeynel Cebeci
Zahid, N., Limouri, M. & Essaid, A. (1999). A new cluster-validity for fuzzy clustering. Pattern Recognition, 32(7): 1089-1097. <doi:10.1016/S0031-3203(98)00157-5>
allindexes
,
apd
,
cl
,
cs
,
cwb
,
fhv
,
fs
,
kpbm
,
kwon
,
mcd
,
mpc
,
pbm
,
pc
,
pe
,
si
,
tss
,
ws
,
xb
# Load the dataset iris and use the first four feature columns data(iris) x <- iris[,1:4] # Run FCM algorithm in the package ppclust res.fcm <- ppclust::fcm(x, centers=3) # Compute the SC index using res.fcm, which is a ppclust object idx <- sc(res.fcm) print(idx) # Compute the SC index using X, U and V matrices idx <- sc(res.fcm$x, res.fcm$u, res.fcm$v) print(idx) # Run UPFCM algorithm in the package ppclust res.upfc <- ppclust::upfc(x, centers=3) # Compute the generalized XB index using res.upfc, which is a ppclust object idx <- sc(res.upfc, tidx="g") print(idx)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.