An R package for silhouette-based diagnostics in standard, soft, and multi-way clustering.
Quantifies clustering quality by measuring both cohesion within clusters and separation between clusters. Implements advanced silhouette width computations for diverse clustering structures, including: simplified silhouette by Van der Laan et al. (2003), Probability of Alternative Cluster normalization methods by Raymaekers & Rousseeuw (2022), fuzzy clustering and silhouette diagnostics using membership probabilities by Campello & Hruschka (2006), Menardi (20011) and Bhat & Kiruthika (2024), and multi-way clustering extensions such as block and tensor clustering by Schepers et al. (2008) and Bhat & Kiruthika (2025). Provides tools for computation and visualization based on Rousseeuw (1987) to support robust and reproducible cluster diagnostics across standard, soft, and multi-way clustering settings.
Note: This package does not use the classical Rousseeuw (1987) calculation directly.
factoextra
,
cluster
and drclust
R packages.Silhouette
class
functions works with any clustering output that provides a proximity or
membership probability matrix. Users can also supply a proximity matrix
and a clustering function—including S3 or S4 methods—to let
Silhouette
class perform clustering and compute silhouettes
internally in one step.You can install the released version of Silhouette
from
GitHub using:
# Install devtools if needed
if (!requireNamespace("devtools", quietly = TRUE)) {
install.packages("devtools")
}
# Install from GitHub
::install_github("kskbhat/Silhouette") devtools
From CRAN, install via:
install.packages("Silhouette")
Usage of the main functions is demonstrated in the package examples and documentation.
For an intro, see the vignette Silhouette
, which is
available as
vignette("Silhouette")
You can access the vignette from the Get started tab in the top navigation bar of the package’s website.
If you encounter a bug or have an idea for a new feature in the Silhouette package, please let us know by opening an issue on GitHub:
Your feedback and suggestions are valuable and help improve the package.