cmeanscl {e1071} | R Documentation |
The data given by x
is clustered by the fuzzy kmeans algorithm.
If centers
is a matrix, its rows are taken as the initial cluster
centers. If centers
is an integer, centers
rows
of x
are randomly chosen as initial values.
The algorithm stops when the maximum number of iterations (given by
iter.max
) is reached.
If verbose
is TRUE, it displays for each iteration the number
the value of the objective function.
If dist
is "euclidean", the distance between the cluster center
and the data points is the Euclidean distance (ordinary kmeans
algorithm). If "manhattan", the distance between the
cluster center and the data points is the sum of the absolute values
of the distances of the coordinates.
If method
is "cmeans", then we have the kmeans fuzzy clustering
method. If "ufcl" we have the On-line Update (Unsupervised Fuzzy
Competitive learning) method, which works by performing an update
directly after each input signal.
The parameters m
defines the degree of fuzzification. It is
defined for real values greater than 1 and the bigger it is the more
fuzzy the membership values of the clustered data points are.
The parameter rate.par
of the learning rate for the "ufcl"
algorithm which is by default set to rate.par=0.3 and is taking
real values in (0 , 1).
cmeanscl (x, centers, iter.max=100, verbose=FALSE, dist="euclidean", method="cmeans", m=2, rate.par = NULL)
x |
Data matrix |
centers |
Number of clusters or initial values for cluster centers |
iter.max |
Maximum number of iterations |
verbose |
If TRUE, make some output during learning |
dist |
If "euclidean", the mean square error, if "manhattan ", the mean absolute error is computed |
method |
If "cmeans", then we have the cmeans fuzzy clustering method, if "ufcl" we have the On-line Update (Unsupervised Fuzzy Competitive learning) method |
m |
The degree of fuzzification. It is defined for values greater than 1 |
rate.par |
The parameter of the learning rate |
cmeanscl
returns an object of class "fclust".
centers |
The final cluster centers. |
cluster |
Vector containing the indices of the clusters where the data points are assigned to. The maximum membership value of a point is considered for partitioning it to a cluster. |
size |
The number of data points in each cluster. |
dist |
The distance measure used. |
m |
The degree of fuzzification. |
member |
a matrix with the membership values of the data points to the clusters. |
withinss |
Returns the sum of square distances within the clusters. |
learning |
a list with elements
|
call |
Returns a call in which all of the arguments are specified by their names. |
Evgenia Dimitriadou
Nikhil R. Pal, James C. Bezdek, and Richard J. Hathaway. Sequential Competitive Learning and the Fuzzy c-Means Clustering Algorithms. Neural Networks, Vol. 9, No. 5, pp. 787-796, 1996.
# a 2-dimensional example x<-rbind(matrix(rnorm(100,sd=0.3),ncol=2), matrix(rnorm(100,mean=1,sd=0.3),ncol=2)) cl<-cmeanscl(x,2,20,verbose=TRUE,method="cmeans",m=2) print(cl) plot(cl,x) # a 3-dimensional example x<-rbind(matrix(rnorm(150,sd=0.3),ncol=3), matrix(rnorm(150,mean=1,sd=0.3),ncol=3), matrix(rnorm(150,mean=2,sd=0.3),ncol=3)) cl<-cmeanscl(x,6,20,verbose=TRUE,method="cmeans") plot(cl,x)