K-Means Clustering for functional data
Perform k-means clustering on functional data.
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, ... )
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. |
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.
Return:
cluster
Indexes of groups assigned.
centers
Curves centers.
Manuel Febrero-Bande, Manuel Oviedo de la Fuente manuel.oviedo@usc.es
Hartigan, J. A. and Wong, M. A. (1979). A K-means clustering algorithm. Applied Statistics 28, 100 \-108.
See Also generic kmeans function.
## Not run: 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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.