kpbm: Modified Kernel Form of Pakhira-Bandyopadhyay-Maulik Index

View source: R/kpbm.R

kpbmR Documentation

Modified Kernel Form of Pakhira-Bandyopadhyay-Maulik Index

Description

Computes the Modified Kernel Form of Pakhira-Bandyopadhyay-Maulik (KPBM) index for validating the result of a fuzzy clustering analysis.

Usage

kpbm(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’.

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’.

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

The modified Kernel form of Pakhira-Bandyopadhyay-Maulik (KPBM) index avoids to use the numerator term E_0 of the original PBM (Pakhira et al, 2005) index. In this way, the computation time required by PBM is reduced without affecting its characteristic. For the modified form so-called KPBM, the prefix K means kernel or core. The equation for calculating the KPBM index is:

I_{KPBM}=\frac{1}{k} \;\frac{1}{E_k} \; D_k

, where: E_k = ∑\limits_{j=1}^k E_j, E_j = ∑\limits_{j=1}^k u_{ij} \; d_{ij}^2, D_k = \max\limits_{j,l=1}^k ||\vec{v}_j - \vec{v}_l||^2

The optimal clustering is obtained with the maximum value of I_{KPBM}.

Value

kpbm

KPBM index value, if tidx is ‘f’

kpbm.e

extended KPBM index, if tidx is ‘e’

kpbm.g

generalized KPBM index value, if tidx is ‘g’

Author(s)

Zeynel Cebeci

References

PatternWiz - A software package for pattern recognition. http://shodhganga.inflibnet.ac.in/bitstream/10603/93443/16/16_chapter%208.pdf

See Also

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

Examples

# Load the dataset iris and use the first four feature columns 
data(iris)
x <- iris[,1:4]

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

# Compute the KPBM index using ppclust object
idx <- kpbm(res.fcm)
print(idx)
 
# Compute the KPBM index using X,U,V matrices
idx <- kpbm(res.fcm$x, res.fcm$u, res.fcm$v, m=2)
print(idx)

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