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 |
b |
Parameter of the polynomial fuzzifier (default: 0.5) |
RS |
Number of (random) starts (default: 1) |
stand |
Standardization: if |
startU |
Rational start for the membership degree matrix |
index |
Cluster validity index to select the number of clusters: |
alpha |
Weighting coefficient for the fuzzy silhouette index |
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 ( |
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 ( |
value |
Vector containing the loss function values for the |
criterion |
Vector containing the values of the cluster validity index |
iter |
Vector containing the numbers of iterations for the |
k |
Number of clusters |
m |
Parameter of fuzziness ( |
ent |
Degree of fuzzy entropy ( |
b |
Parameter of the polynomial fuzzifier |
vp |
Volume parameter ( |
delta |
Noise distance ( |
gam |
Weighting parameter for the fuzzy covariance matrices ( |
mcn |
Maximum condition number for the fuzzy covariance matrices ( |
stand |
Standardization (Yes if |
Xca |
Data used in the clustering algorithm (standardized data if |
X |
Raw data |
D |
Dissimilarity matrix ( |
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)