Performs the Gustafson, Kessel and Babuska - like fuzzy k-means clustering algorithm.
Differently from fuzzy k-means, it is able to discover non-spherical clusters.
The Babuska et al. variant improves the computation of the fuzzy covariance matrices in the standard Gustafson and Kessel clustering algorithm.
FKM.gkb (X, k, m, vp, gam, mcn, RS, stand, startU, index, alpha, conv, maxit, seed)
Object of class fclust
, which is a list with the following components:
Membership degree matrix
Prototype matrix
Array containing the covariance matrices of all the clusters
Matrix containing the indexes of the clusters where the objects are assigned (column 1) and the associated membership degrees (column 2)
Vector containing the indexes of the medoid objects (NULL
for FKM.gkb
)
Vector containing the loss function values for the RS
starts
Vector containing the values of clustering index
Vector containing the numbers of iterations for the RS
starts
Number of clusters
Parameter of fuzziness
Degree of fuzzy entropy (NULL
for FKM.gkb
)
Parameter of the polynomial fuzzifier (NULL
for FKM.gkb
)
Volume parameter
Noise distance (NULL
for FKM.gkb
)
Weighting parameter for the fuzzy covariance matrices
Maximum condition number for the fuzzy covariance matrices
Standardization (Yes if stand=1
, No if stand=0
)
Data used in the clustering algorithm (standardized data if stand=1
)
Raw data
Dissimilarity matrix (NULL
for FKM.gkb
)
Matched call
Matrix or data.frame
An integer value or vector specifying the number of clusters for which the index
is to be calculated (default: 2:6)
Parameter of fuzziness (default: 2)
Volume parameter (default: rep(1,k))
Weighting parameter for the fuzzy covariance matrices (default: 0)
Maximum condition number for the fuzzy covariance matrices (default: 1e+15)
Number of (random) starts (default: 1)
Standardization: if stand=1
, the clustering algorithm is run using standardized data (default: no standardization)
Rational start for the membership degree matrix U
(default: no rational start)
Cluster validity index to select the number of clusters: PC
(partition coefficient), PE
(partition entropy), MPC
(modified partition coefficient), SIL
(silhouette), SIL.F
(fuzzy silhouette), XB
(Xie and Beni) (default: "SIL.F")
Weighting coefficient for the fuzzy silhouette index SIL.F
(default: 1)
Convergence criterion (default: 1e-9)
Maximum number of iterations (default: 1e+2)
Seed value for random number generation (default: NULL)
Paolo Giordani, Maria Brigida Ferraro, Alessio Serafini
If startU
is given, the argument k
is ignored (the number of clusters is ncol(startU)
).
If startU
is given, the first element of value
, cput
and iter
refer to the rational start.
If a cluster covariance matrix becomes singular, then the algorithm stops and the element of value
is NaN.
Babuska R., van der Veen P.J., Kaymak U., 2002. Improved covariance estimation for Gustafson-Kessel clustering. Proceedings of the IEEE International Conference on Fuzzy Systems (FUZZ-IEEE), 1081-1085.
Gustafson E.E., Kessel W.C., 1978. Fuzzy clustering with a fuzzy covariance matrix. Proceedings of the IEEE Conference on Decision and Control, pp. 761-766.
FKM.gk
, Fclust
, Fclust.index
, print.fclust
, summary.fclust
, plot.fclust
, unemployment
if (FALSE) {
## unemployment data
data(unemployment)
## Gustafson, Kessel and Babuska-like fuzzy k-means, fixing the number of clusters
clust=FKM.gkb(unemployment,k=3,RS=10)
## Gustafson, Kessel and Babuska-like fuzzy k-means, selecting the number of clusters
clust=FKM.gkb(unemployment,k=2:6,RS=10)}
Run the code above in your browser using DataLab