xb: Xie-Beni Index

View source: R/xb.R

xbR Documentation

Xie-Beni Index

Description

Computes the Xie-Beni (Xie & Beni, 1991) index to validate the result of a fuzzy and/or possibilistic clustering analysis.

Usage

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

Xie-Beni index (XB) is a fuzzy validity criterion based on a validity function which identifies compact and separate fuzzy c-partitions without assumptions as to the number of substructures inherent in the data (Xie & Beni, 1991). Therefore it is also called the compactness and separation validity function. The index is first representative of its category with its successors. The formula of XB index is:

I_{XB}=\frac{∑\limits_{i=1}^n ∑\limits_{j=1}^k u_{ij}^m \; d_{ij}^2}{n \; \Big(\min\limits_{j\neq l}(||\vec{v_j} - \vec{v}_l||^2)\Big)}

Since the smaller values of the index indicate the compact and well-separated clusters, the optimal clustering is obtained at the minimum value of I_{XB}.

Value

xb

XB index value if tidx is ‘f’

xb.e

extended XB index value if tidx is ‘e’

xb.g

generalized XB index value if tidx is ‘g’

Author(s)

Zeynel Cebeci

References

Xie, X.L. & Beni, G. (1991). A validity measure for fuzzy clustering, IEEE Transactions on Pattern Analysis and Machine Intelligence, 13(8):841-847. <doi:10.1109/34.85677>

See Also

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

Examples

# 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 XB index using res.fcm, which is a ppclust object
idx <- xb(res.fcm)
print(idx)
 
# Compute the XB index using X, U and V matrices
idx <- xb(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 <- xb(res.upfc, tidx="g")
print(idx)

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