x
is clustered by the fuzzy c-shell 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 "cshell", then we have the c-shell fuzzy clustering
method.
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 radius
is by default set to 0.2 for every cluster.
cshell(x, centers, iter.max=100, verbose=FALSE, dist="euclidean",
method="cshell", m=2, radius = NULL)
cshell
returns an object of class "fclust".plot.fclust
## a 2-dimensional example
x<-rbind(matrix(rnorm(50,sd=0.3),ncol=2),
matrix(rnorm(50,mean=1,sd=0.3),ncol=2))
cl<-cshell(x,2,20,verbose=TRUE,method="cshell",m=2)
print(cl)
plot(cl,x)
Run the code above in your browser using DataLab