XB.IDX | R Documentation |
Computes the XB (X. L. Xie and G. Beni, 1991) index for a result of either FCM or EM clustering from user specified cmin
to cmax
.
XB.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 XB index is defined as
XB(c) = \frac{\sum_{j=1}^c\sum_{i=1}^n\mu_{ij}^2\| {x}_i-{v}_j\|^2}
{n \cdot \min_{j\neq k} \{ \| {v}_j-{v}_k\|^2 \}}.
The lowest value of XB(c)
indicates a valid optimal partition.
XB |
the XB index for |
Nathakhun Wiroonsri and Onthada Preedasawakul
X. Xie and G. Beni, “A validity measure for fuzzy clustering,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 13, no. 8, pp. 841–847, 1991.
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 XB index
FCM.XB = XB.IDX(scale(x), cmax = 15, cmin = 2, method = "FCM",
fzm = 2, nstart = 20, iter = 100)
print(FCM.XB)
# The optimal number of cluster
FCM.XB[which.min(FCM.XB$XB),]
# ---- EM algorithm ----
# Compute the XB index
EM.XB = XB.IDX(scale(x), cmax = 15, cmin = 2, method = "EM",
nstart = 20, iter = 100)
print(EM.XB)
# The optimal number of cluster
EM.XB[which.min(EM.XB$XB),]
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.