K-Medoids Clustering
Compute a k-medoids partition of a dissimilarity object.
kmedoids(x, k)
x |
a dissimilarity object inheriting from class
|
k |
an integer giving the number of classes to be used in the partition. |
Let d denote the pairwise object-to-object dissimilarity matrix
corresponding to x
. A k-medoids partition of x
is
defined as a partition of the numbers from 1 to n, the number of
objects in x
, into k classes C_1, …, C_k such
that the criterion function
L = ∑_l \min_{j \in C_l} ∑_{i \in C_l} d_{ij}
is minimized.
This is an NP-hard optimization problem. PAM (Partitioning Around
Medoids, see Kaufman & Rousseeuw (1990), Chapter 2) is a very popular
heuristic for obtaining optimal k-medoids partitions, and
provided by pam
in package cluster.
kmedoids
is an exact algorithm based on a binary linear
programming formulation of the optimization problem (e.g., Gordon &
Vichi (1998), [P4']), using lp
from package
lpSolve as solver. Depending on available hardware resources
(the number of constraints of the program is of the order n^2),
it may not be possible to obtain a solution.
An object of class "kmedoids"
representing the obtained
partition, which is a list with the following components.
cluster |
the class ids of the partition. |
medoid_ids |
the indices of the medoids. |
criterion |
the value of the criterion function of the partition. |
L. Kaufman and P. J. Rousseeuw (1990). Finding Groups in Data: An Introduction to Cluster Analysis. Wiley, New York.
A. D. Gordon and M. Vichi (1998). Partitions of partitions. Journal of Classification, 15, 265–285. doi: 10.1007/s003579900034.
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.