kmeans.center.ini {fda.usc} | R Documentation |
K-Means Clustering for functional data
Description
Perform k-means clustering on functional data.
Usage
kmeans.center.ini(
fdataobj,
ncl = 2,
metric = metric.lp,
draw = TRUE,
method = "sample",
max.iter = 100,
max.comb = 1e+06,
par.metric = NULL,
...
)
kmeans.fd(
fdataobj,
ncl = 2,
metric = metric.lp,
dfunc = func.trim.FM,
max.iter = 100,
par.metric = NULL,
par.dfunc = list(trim = 0.05),
method = "sample",
cluster.size = 5,
draw = TRUE,
...
)
Arguments
fdataobj |
|
ncl |
See details section. |
metric |
Metric function, by default |
draw |
=TRUE, draw the curves in the color of the centers. |
method |
Method for selecting initial centers. If
|
max.iter |
Maximum number of iterations for the detection of centers. |
max.comb |
Maximum number of initial selection of
centers (only used when |
par.metric |
List of arguments to pass to the |
... |
Further arguments passed to or from other methods. |
dfunc |
Type of depth measure, by default FM depth. |
par.dfunc |
List of arguments to pass to the |
cluster.size |
Minimum cluster size (by default is 5). If a cluster has fewer curves, it is eliminated and the process is continued with a less cluster. |
Details
The method searches the locations around which are grouped data (for a
predetermined number of groups).
If ncl=NULL
, randomizes the initial centers, ncl=2
using
kmeans.center.ini
function.
If ncl
is an integer,
indicating the number of groups to classify,
are selected ncl
initial centers using kmeans.center.ini
function.
If ncl
is
a vector of integers, indicating the position of the initial centers with
length(ncl)
equal to number of groups.
If ncl
is a
fdata
class objecct, ncl
are the initial centers curves with
nrow(ncl)
number of groups.
Value
Return:
-
cluster
Indexes of groups assigned. -
centers
Curves centers.
Author(s)
Manuel Febrero-Bande, Manuel Oviedo de la Fuente manuel.oviedo@udc.es
References
Hartigan, J. A. and Wong, M. A. (1979). A K-means clustering algorithm. Applied Statistics 28, 100 \-108.
See Also
See Also generic kmeans function.
Examples
## Not run:
library(fda.usc)
data(phoneme)
mlearn<-phoneme$learn[c(1:50,101:150,201:250),]
# Unsupervised classification
out.fd1=kmeans.fd(mlearn,ncl=3,draw=TRUE)
out.fd2=kmeans.fd(mlearn,ncl=3,draw=TRUE,method="exact")
# Different Depth function
ind=c(17,77,126)
out.fd3=kmeans.fd(mlearn,ncl=mlearn[ind,],draw=FALSE,
dfunc=func.trim.FM,par.dfunc=list(trim=0.1))
out.fd4=kmeans.fd(mlearn,ncl=mlearn[ind,],draw=FALSE,
dfunc=func.med.FM)
group=c(rep(1,50),rep(2,50),rep(3,50))
table(out.fd4$cluster,group)
## End(Not run)