FKM.pf {fclust}R Documentation

Fuzzy k-means with polynomial fuzzifier

Description

Performs the fuzzy k-means clustering algorithm with polynomial fuzzifier function.
The polynomial fuzzifier creates areas of crisp membership degrees around the prototypes while, outside of these areas of crisp membership degrees, fuzzy membership degrees are given. Therefore, the polynomial fuzzifier produces membership degrees equal to one for objects clearly assigned to clusters, that is, very close to the cluster prototypes.

Usage

 
 FKM.pf (X, k, b, RS, stand, startU, index, alpha, conv, maxit, seed)

Arguments

X

Matrix or data.frame

k

An integer value or vector specifying the number of clusters for which the index is to be calculated (default: 2:6)

b

Parameter of the polynomial fuzzifier (default: 0.5)

RS

Number of (random) starts (default: 1)

stand

Standardization: if stand=1, the clustering algorithm is run using standardized data (default: no standardization)

startU

Rational start for the membership degree matrix U (default: no rational start)

index

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")

alpha

Weighting coefficient for the fuzzy silhouette index SIL.F (default: 1)

conv

Convergence criterion (default: 1e-9)

maxit

Maximum number of iterations (default: 1e+6)

seed

Seed value for random number generation (default: NULL)

Details

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.

Value

Object of class fclust, which is a list with the following components:

U

Membership degree matrix

H

Prototype matrix

F

Array containing the covariance matrices of all the clusters (NULL for FKM.pf)

clus

Matrix containing the indexes of the clusters where the objects are assigned (column 1) and the associated membership degrees (column 2)

medoid

Vector containing the indexes of the medoid objects (NULL for FKM.pf)

value

Vector containing the loss function values for the RS starts

criterion

Vector containing the values of the cluster validity index

iter

Vector containing the numbers of iterations for the RS starts

k

Number of clusters

m

Parameter of fuzziness (NULL for FKM.pf)

ent

Degree of fuzzy entropy (NULL for FKM.pf)

b

Parameter of the polynomial fuzzifier

vp

Volume parameter (NULL for FKM.pf)

delta

Noise distance (NULL for FKM.pf)

gam

Weighting parameter for the fuzzy covariance matrices (NULL for FKM.pf)

mcn

Maximum condition number for the fuzzy covariance matrices (NULL for FKM.pf)

stand

Standardization (Yes if stand=1, No if stand=0)

Xca

Data used in the clustering algorithm (standardized data if stand=1)

X

Raw data

D

Dissimilarity matrix (NULL for FKM.pf)

call

Matched call

Author(s)

Paolo Giordani, Maria Brigida Ferraro, Alessio Serafini

References

Winkler R., Klawonn F., Hoeppner F., Kruse R., 2010. Fuzzy Cluster Analysis of Larger Data Sets. In: Scalable Fuzzy Algorithms for Data Management and Analysis: Methods and Design IGI Global, pp. 302-331. IGI Global, Hershey.
Winkler R., Klawonn F., Kruse R., 2011. Fuzzy clustering with polynomial fuzzifier function in connection with M-estimators. Applied and Computational Mathematics, 10, 146-163.

See Also

FKM.pf.noise, Fclust, Fclust.index, print.fclust, summary.fclust, plot.fclust, Mc

Examples

## McDonald's data
data(Mc)
names(Mc)
## data normalization by dividing the nutrition facts by the Serving Size (column 1)
for (j in 2:(ncol(Mc)-1))
Mc[,j]=Mc[,j]/Mc[,1]
## removing the column Serving Size
Mc=Mc[,-1]
## fuzzy k-means with polynomial fuzzifier, fixing the number of clusters 
## (excluded the factor column Type (last column))
clust=FKM.pf(Mc[,1:(ncol(Mc)-1)],k=6,stand=1)
## fuzzy k-means with polynomial fuzzifier, selecting the number of clusters  
## (excluded the factor column Type (last column))
clust=FKM.pf(Mc[,1:(ncol(Mc)-1)],k=2:6,stand=1)

[Package fclust version 2.1.1.1 Index]