optimal.k | R Documentation |
Find optimal k of k-Medoid partitions using silhouette widths
optimal.k(x, nk = 10, plot = TRUE, cluster = TRUE, clara = FALSE, ...)
x |
Numeric dataframe, matrix or vector |
nk |
Number of clusters to test (2:nk) |
plot |
(TRUE / FALSE) Plot cluster silhouettes(TRUE/FALSE) |
cluster |
(TRUE / FALSE) Create cluster object with optimal k |
clara |
(FALSE / TRUE) Use clara model for large data |
... |
Additional arguments passed to clara |
Object of class clust "pam" or "clara" with tested silhouette values
Jeffrey S. Evans <jeffrey_evans<at>tnc.org>
Theodoridis, S. & K. Koutroumbas(2006) Pattern Recognition 3rd ed.
pam
for details on Partitioning Around Medoids (PAM)
clara
for details on Clustering Large Applications (clara)
if (require(cluster, quietly = TRUE)) {
x <- rbind(cbind(rnorm(10,0,0.5), rnorm(10,0,0.5)),
cbind(rnorm(15,5,0.5), rnorm(15,5,0.5)))
clust <- optimal.k(x, 20, plot=TRUE, cluster=TRUE)
plot(silhouette(clust$model), col = c('red', 'green'))
plot(clust$model, which.plots=1, main='K-Medoid fit')
# Extract multivariate and univariate mediods (class centers)
clust$model$medoids
pam(x[,1], 1)$medoids
# join clusters to data
x <- data.frame(x, k=clust$model$clustering)
} else {
cat("Please install cluster package to run example", "\n")
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.