- x
A numeric matrix of data. Each row corresponds to a distinct
observation; each column corresponds to a distinct variable/dimension. It
must not contain NA values.
- centers
Either a matrix of initial centers or the number of initial
centers (k, single number cec(data, 4, ...)) or a vector for
variable number of centers (cec(data, 3:10, ...)). It must not
contain NA values.
If centers is a vector, length(centers) clusterings will be
performed for each start (nstart argument) and the total number of
clusterings will be length(centers) * nstart.
If centers is a number or a vector, initial centers will be generated
using a method depending on the centers.init argument.
- type
The type (or types) of clustering (density family). This can be
either a single value or a vector of length equal to the number of centers.
Possible values are: "covariance", "fixedr", "spherical", "diagonal",
"eigenvalues", "all" (default).
Currently, if the centers argument is a vector, only a single type
can be used.
- iter.max
The maximum number of iterations of the clustering algorithm.
- nstart
The number of clusterings to perform (with different initial
centers). Only the best clustering (with the lowest cost) will be returned.
A value grater than 1 is valid only if the centers argument is a
number or a vector.
If the centers argument is a vector, length(centers)
clusterings will be performed for each start and the total number of
clusterings will be length(centers) * nstart.
If the split mode is on (split = TRUE), the whole procedure (initial
clustering + split) will be performed nstart times, which may take
some time.
- param
The parameter (or parameters) specific to a particular type of
clustering. Not all types of clustering require parameters. The types that
require parameter are: "covariance" (matrix parameter), "fixedr" (numeric
parameter), "eigenvalues" (vector parameter). This can be a vector or a list
(when one of the parameters is a matrix or a vector).
- centers.init
The method used to automatically initialize the centers.
Possible values are: "kmeans++" (default) and "random".
- card.min
The minimal cluster cardinality. If the number of
observations in a cluster becomes lower than card.min, the cluster is
removed. This argument can be either an integer number or a string ending
with a percent sign (e.g. "5%").
- keep.removed
If this parameter is TRUE, the removed clusters will be
visible in the results as NA in the "centers" matrix (as well as the
corresponding values in the list of covariances).
- interactive
If TRUE, the result of clustering will be plotted
after every iteration.
- threads
The number of threads to use or "auto" to use the default
number of threads (usually the number of available processing units/cores)
when performing multiple starts (nstart parameter).
The execution of a single start is always performed by a single thread, thus
for nstart = 1 only one thread will be used regardless of the value
of this parameter.
- split
If TRUE, the function will attempt to discover new
clusters after the initial clustering, by trying to split single clusters
into two and check whether it lowers the cost function.
For each start (nstart), the initial clustering will be performed and
then splitting will be applied to the results. The number of starts in the
initial clustering before splitting is driven by the
split.initial.starts parameter.
- split.depth
The cluster subdivision depth used in split mode. Usually,
a value lower than 10 is sufficient (when after each splitting, new clusters
have similar sizes). For some data, splitting may often produce clusters
that will not be split further, in that case a higher value of
split.depth is required.
- split.tries
The number of attempts that are made when trying to split
a cluster in split mode.
- split.limit
The maximum number of centers to be discovered in split
mode.
- split.initial.starts
The number of 'standard' starts performed before
starting the splitting process.
- readline
Used only in the interactive mode. If readline is
TRUE, at each iteration, before plotting it will wait for the user to press
<Return> instead of the standard 'before plotting' waiting
(graphics::par(ask = TRUE)).