spkmeans {T4cluster} | R Documentation |
Spherical K-Means Clustering
Description
Spherical k
-means algorithm performs clustering for the data residing
on the unit hypersphere with the cosine similarity. If the data is not
normalized, it performs the normalization and proceeds thereafter.
Usage
spkmeans(data, k = 2, ...)
Arguments
data |
an |
k |
the number of clusters (default: 2). |
... |
extra parameters including
|
Value
a named list of S3 class T4cluster
containing
- cluster
a length-
n
vector of class labels (from1:k
).- cost
a value of the cost function.
- means
an
(k\times p)
matrix where each row is a unit-norm class mean.- algorithm
name of the algorithm.
References
I. S. Dhillon and D. S. Modha (2001). "Concept decompositions for large sparse text data using clustering." Machine Learning, 42:143–175.
Examples
# -------------------------------------------------------------
# clustering with 'household' dataset
# -------------------------------------------------------------
## PREPARE
data(household, package="T4cluster")
X = household$data
lab = as.integer(household$gender)
## EXECUTE SPKMEANS WITH VARYING K's
vec.rand = rep(0, 9)
for (i in 1:9){
clust_i = spkmeans(X, k=(i+1))$cluster
vec.rand[i] = compare.rand(clust_i, lab)
}
## VISUALIZE THE RAND INDEX
opar <- par(no.readonly=TRUE)
plot(2:10, vec.rand, type="b", pch=19, ylim=c(0.5, 1),
ylab="Rand index",xlab="number of clusters",
main="clustering quality index over varying k's.")
par(opar)