pbm | R Documentation |
Computes the Pakhira-Bandyopadhyay-Maulik (Pakhira et al, 2005) index for validating the result of a fuzzy and/or possibilistic clustering analysis.
pbm(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 Pakhira-Bandyopadhyay-Maulik (PBM) index proposed by Pakhira et al (2005) has two versions which can be used for validating both hard and soft clustering results. The formula in the following equation is the fuzzy version PBM index so-called PBMF in some of the literature:
I_{PBM}=\frac{1}{k} \;\frac{E_0}{E_k} \; D_k
Where: E_0 = ∑\limits_{i=1}^n ||x_i-\bar{v}||^2, 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_{PBM}.
pbm |
PBM index value, if |
pbm.e |
extended PBM index value, if |
pbm.g |
generalized PBM index value, if |
Zeynel Cebeci
Pakhira, M.K., Bandyopadhyay, S. & Maulik, U. (2005). Validity index for crisp and fuzzy clusters, Pattern Recognition, 37(3):487-501. <doi:10.1016/j.patcog.2003.06.005>
allindexes
,
apd
,
cl
,
cs
,
cwb
,
fhv
,
fs
,
kpbm
,
kwon
,
mcd
,
mpc
,
pc
,
pe
,
sc
,
si
,
tss
,
ws
,
xb
# 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 PBM index using ppclust object idx <- pbm(res.fcm) print(idx) # Compute the PBM index using X,U,V matrices idx <- pbm(res.fcm$x, res.fcm$u, res.fcm$v, m=2) print(idx)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.