| KPBM.IDX | R Documentation | 
Computes the KPBM (C. Alok, 2010) index for a result of either FCM or EM clustering from user specified cmin to cmax.
KPBM.IDX(x, cmax, cmin = 2, method = "FCM", fzm = 2, nstart = 20, iter = 100)
| x | a numeric data frame or matrix where each column is a variable to be used for cluster analysis and each row is a data point. | 
| cmax | a maximum number of clusters to be considered. | 
| cmin | a minimum number of clusters to be considered. The default is  | 
| method | a character string indicating which clustering method to be used ( | 
| fzm | a number greater than 1 giving the degree of fuzzification for  | 
| nstart | a maximum number of initial random sets for FCM for  | 
| iter | a maximum number of iterations for  | 
The KPBM index is defined as 
KPBM(c) = \left(\frac{\max_{j \neq k}\| {v}_j-{v}_k\|}{c\sum_{j=1}^c\sum_{i=1}^n\mu_{ij}\| {x}_i-{v}_j\|}\right)^2.
The largest value of KPBM(c) indicates a valid optimal partition.
| KPBM | the KPBM index for  | 
Nathakhun Wiroonsri and Onthada Preedasawakul
C. Alok. (2010). "An investigation of clustering algorithms and soft computing approaches for pattern recognition", Department of Computer Science, Assam University.
R1_data, TANG.IDX, FzzyCVIs, WP.IDX, Hvalid
library(UniversalCVI)
# The data is from Wiroonsri (2024).
x = R1_data[,1:2]
# ---- FCM algorithm ----
# Compute the KPBM index
FCM.KPBM = KPBM.IDX(scale(x), cmax = 15, cmin = 2, method = "FCM",
  fzm = 2, nstart = 20, iter = 100)
print(FCM.KPBM)
# The optimal number of cluster
FCM.KPBM[which.max(FCM.KPBM$KPBM),]
# ---- EM algorithm ----
# Compute the KPBM index
EM.KPBM = KPBM.IDX(scale(x), cmax = 15, cmin = 2, method = "EM",
  nstart = 20, iter = 100)
print(EM.KPBM)
# The optimal number of cluster
EM.KPBM[which.max(EM.KPBM$KPBM),]
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.