tss: Tang, Sun & Sun Index

View source: R/tss.R

tssR Documentation

Tang, Sun & Sun Index

Description

Computes the Tang, Sun & Sun (Tang et al, 2005) index in order to validate the result of a fuzzy and/or possibilistic clustering analysis.

Usage

tss(x, u, v, m, t=NULL, eta, tidx="f")

Arguments

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 x is not an object of ‘ppclust’.

v

a numeric data frame or matrix containing the cluster prototypes. It should be specified if x is not an object of ‘ppclust’.

t

a numeric data frame or matrix containing the cluster prototypes. It should be specified if x is not an object of ‘ppclust’ and the option e or g is assigned to tidx.

m

a number specifying the fuzzy exponent. It should be specified if x is not an object of ‘ppclust’.

eta

a number specifying the typicality exponent. It should be specified if x is not an object of ‘ppclust’ and tidx is either e or g.

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.

Details

Tang, Sun & Sun Index (TSS) index for fuzzy clustering has been proposed to eliminate the monotonically decreasing tendency as the number of clusters approaches to the number of data points and avoid the numerical instability of validation index when fuzzy weighting exponent increases (Tang et al, 2005).The index is defined as follows:

I_{TSS}=\frac{∑\limits_{i=1}^n ∑\limits_{j=1}^k u_{ij}^m \; d_{ij}^2 + \frac{1}{k (k-1)} \; ∑\limits_{j=1}^k ∑\limits_{l,j\neq l}^k ||\vec{v_j}-\vec{v_l}||^2}{\min\limits_{j\neq l} (||\vec{v_j} - \vec{v_l}||^2) +\frac{1}{k}}

The optimal clustering is obtained at the minimum value of I_{TSS}.

Value

tss

TSS index value if tidx is ‘f’

tss.e

extended TSS index value if tidx is ‘e’

tss.g

generalized TSS index value if tidx is ‘g’

Author(s)

Zeynel Cebeci

References

Tang, Y., Sun, F. & Sun, Z. (2005). Improved validation index for fuzzy clustering. In Proc. of the American Control Conference, 2005. pp. 1120-1125. IEEE. <doi:10.1109/ACC.2005.1470111>

See Also

allindexes, apd, cl, cs, cwb, fhv, fs, kpbm, kwon, mcd, mpc, pbm, pc, pe, sc, si, ws, xb

Examples

# Load the dataset iris
data(iris)
x <- iris[,1:4]

# Run FCM algorithm in the package ppclust 
res.fcm <- ppclust::fcm(x, centers=3)

# Compute the TSS index using res.fcm, which is a ppclust object
idx <- tss(res.fcm)
print(idx)
 
# Compute the TSS index using X, U and V matrices
idx <- tss(res.fcm$x, res.fcm$u, res.fcm$v)
print(idx)

# Run UPFC algorithm in the package ppclust 
res.upfc <- ppclust::upfc(x, centers=3)
# Compute the generalized TSS index using res.upfc, which is a ppclust object
idx <- tss(res.upfc, tidx="g")
print(idx)

zcebeci/fcvalid documentation built on Oct. 4, 2022, 9:01 p.m.