Medoid Silhouette clustering with automatic cluster number selection

Lars Lenssen, Erich Schubert
9/7/2023
cs.LGstat.ML

Official code: kno10/rust-kmedoids (30 stars, GPL-3.0, Rust, last commit 2025-09-17).

Abstract

The evaluation of clustering results is difficult, highly dependent on the evaluated data set and the perspective of the beholder. There are many different clustering quality measures, which try to provide a general measure to validate clustering results. A very popular measure is the Silhouette. We discuss the efficient medoid-based variant of the Silhouette, perform a theoretical analysis of its properties, provide two fast versions for the direct optimization, and discuss the use to choose the optimal number of clusters. We combine ideas from the original Silhouette with the well-known PAM algorithm and its latest improvements FasterPAM. One of the versions guarantees equal results to the original variant and provides a run speedup of $O(k^2)$. In experiments on real data with 30000 samples and $k$=100, we observed a 10464$\times$ speedup compared to the original PAMMEDSIL algorithm. Additionally, we provide a variant to choose the optimal number of clusters directly.

View on arXivView PDF

Code Implementations(1)

RustGPL-3.0

k-Medoids clustering in Rust with the FasterPAM algorithm

307RustDec 22, 20201 years agoGPL-3.0

Similar Papers

Cite this paper

@article{lenssen2023medoid,
  title  = {Medoid Silhouette clustering with automatic cluster number selection},
  author = {Lars Lenssen and Erich Schubert},
  year   = {2023},
  eprint = {2309.03751},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2309.03751v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2309.03751.svg)](https://codeofpaper.com/paper/2309.03751)

Discussion