kmeans.torus {ClusTorus}R Documentation

K-Means Clustering on Torus

Description

kmeans.torus implements extrinsic k-means clustering on toroidal space.

Usage

kmeans.torus(data, centers = 10, iter.max = 100, nstart = 1)

Arguments

data

n x d matrix of toroidal data on [0, 2π)^d

centers

either the number of clusters or a set of initial cluster centers. If a number, a random set of row in x is chosen as the initial centers.

iter.max

the maximum number of iterations

nstart

if centers is a number, how many random sets should be chosen?

Details

In Euclidean space, we know that the total sum of squares is equal to the summation of the within cluster sum of squares and the between cluster centers sum of squares. However, toroidal space does not satisfy the property; the equality does not hold. Thus, you need to be careful to use the sum of squares.

Value

returns a kmeans object, which contains input data, cluster centers on torus, membership, total sum of squares, within cluster sum of squares, between cluster centers sum of squares, and the size of each cluster.

References

'S. Jung, K. Park, and B. Kim (2021), "Clustering on the torus by conformal prediction"

See Also

kmeans, ang.minus

Examples

data <- ILE[1:200, 1:2]

kmeans.torus(data, centers = 2,
             iter.max = 100, nstart = 1)

[Package ClusTorus version 0.1.3 Index]