AI & MACHINE LEARNING PROGRAM • LEVEL 13 — CLUSTERING

Calculate a Silhouette Value with Python

Learn calculate a silhouette value with python with a short, executable Python example.

IntermediateSilhouette scoreCluster quality

PROBLEM UNDERSTANDING

Input and expected output

Sample input
No input required
Sample output
0.667

COMPLETE PYTHON PROGRAM

Complete Python implementation

ai-ml-13-silhouette.py
Open in compiler
within_distance, nearest_cluster_distance = 2, 6
score = (nearest_cluster_distance-within_distance)/max(within_distance,nearest_cluster_distance)
print(round(score,3))

GUIDED CODE TOUR • NOT LIVE EXECUTION

Study the program line by line

Use the real compiler button above to run and debug with different inputs.

CURRENT STEP

Select Start to walk through the important lines.

SELECTED LINE

No line selected

EXPECTED OUTPUT FOR THE SAMPLE

0.667
0%Step 0 of 0

PROGRAM EXPLANATION

Algorithm and explanation

  1. Initialize the sample values used to calculate a silhouette value.
  2. Apply Silhouette score and Cluster quality to compute the required result.
  3. Display the result for calculate a silhouette value and compare it with the documented sample output.

This example of calculate a silhouette value computes the result directly from the prepared sample data. It demonstrates Silhouette score and Cluster quality and prints a deterministic result that can be checked against the sample output.

EFFICIENCY

Time and space complexity

Time complexity

O(n²)

Auxiliary space

O(1)

DEBUGGING CHECKLIST

Common mistakes

Check this

For calculate a silhouette value, keep the data shape and value types consistent with Silhouette score.

Check this

Apply Silhouette score in the same order shown by the algorithm; changing the order can change the result.

Check this

Check denominators, numeric ranges and rounding before comparing the calculated value.

Try it yourself

Practice: Run the program with the sample input, predict its output, and then test one boundary case of your own.