About Silhouette Score Calculator
This silhouette score calculator clusters your points with k-means and reports the mean silhouette, a number from -1 to 1 that says how well each point fits its own cluster. It is free, needs no sign-up and runs in your browser, so nothing you enter is uploaded.
For each point the silhouette compares how close it is to its own cluster (a) with how close it is to the nearest other cluster (b). Values near 1 mean tight, well separated clusters; values near 0 mean overlapping clusters; negative values mean points that probably sit in the wrong cluster.
The page opens with k = 4 on data that really has three groups. Run it to convergence and compare the silhouette with the k = 3 value from the main tool: forcing a fourth cluster splits one blob and lowers the score.
How to use Silhouette Score Calculator
- Pick a sample dataset, tap the plot to add points of your own, or paste x,y lines in the CSV box and press "Use these points".
- Set the number of clusters k, and choose k-means++ or random initialisation.
- Press Step. The first press assigns each point to its nearest centroid; the next moves each centroid to the mean of its points.
- Keep stepping, or press "Run to convergence", until the assignment stops changing.
- Read the inertia and the silhouette score, and look at the elbow plot to judge whether k is a good choice.
- Press "New start" to try a different random starting position, and see whether the clusters change.
Features
- Step-through mode that separates the assign step from the update step.
- Run to convergence with a clear converged message.
- k-means++ and random initialisation, with a repeatable seed and a New start button.
- Tap or click to add points, five sample datasets and CSV input for up to 3,000 points.
- Inertia, step count and mean silhouette score, updated as you go.
- An elbow plot of inertia for k from 1 to 10, with a marker at your k and the sharpest bend named.
- Touch-friendly canvas that scales to your screen and keeps vertical page scrolling working.
Worked examples
Three blobs clustered with k = 4 gives silhouette 0.605
Compared with k = 3 on the same points, the extra cluster divides a natural group in two.
Privacy: how it works
- The points and the clustering stay in your browser tab. Nothing is sent to Ulkaa or anyone else.
Tips
- Scale your features first when they have very different units. K-means uses raw distance, so a column with a large range dominates.
- If the elbow is not clear, check the silhouette score for several values of k.
- An empty cluster keeps its previous centroid in this tool, so a bad start can leave a cluster unused. Use New start or k-means++.
- Adding a few outliers can drag a centroid away, because the mean is not robust. Tap far from the others to try it.
Frequently asked questions
Is it really free?
Yes. There is no price, no trial and no credit card. Ulkaa Tool does the work with your own device, so there is no server bill to pass on to you.
Do I need an account?
No. There is no sign-up and no login. Open the page and use it. An Ulkaa account is not needed for anything on this tool.
Does it run in my browser?
Yes. Your points are processed by code running in your browser tab, on your own device.
Is my data uploaded?
No. Your points are never sent to Ulkaa or to anyone else. You can check this yourself by watching the Network tab in your browser developer tools while you use the tool.
What is a good silhouette score?
Above 0.7 is strong structure, 0.5 to 0.7 reasonable, 0.25 to 0.5 weak and below that little real structure. These are rules of thumb.
Does the silhouette need cluster labels?
It needs a clustering, which the tool produces with k-means. It needs at least two clusters.
More K-Means Clustering Visualizer pages
- K-Means Clustering VisualizerWatch k-means assign points and move centroids, one step at a time, on your own data.
- Elbow Method CalculatorPlot inertia for k from 1 to 10 and spot the bend where more clusters stop helping.
- K-Means++ VisualizerWatch k-means++ pick starting centroids, then step to convergence.
- K-Means With Random InitialisationStart k-means from random data points and see how the outcome depends on the start.
- K-Means on the Two Moons DatasetCluster two interlocking half circles and see where k-means cuts them.
- K-Means on Concentric CirclesCluster a ring around a core and see why straight boundaries cannot separate them.
- K-Means Clustering From CSVPaste x,y data, choose k and cluster it in your browser.