| X1 | X2 | Cluster |
|---|---|---|
| 2 | 10 | 0 |
| 2 | 5 | 2 |
| 8 | 4 | 1 |
| 5 | 8 | 0 |
| 7 | 5 | 1 |
| 6 | 4 | 1 |
| 1 | 2 | 2 |
| 4 | 9 | 0 |
X = [
[2, 10],
[2, 5],
[8, 4],
[5, 8],
[7, 5],
[6, 4],
[1, 2],
[4, 9]
]
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 5 | 8.485281374 | 3.605551275 | 7.071067812 | 7.211102551 | 8.062257748 | 2.236067977 |
| 1 | 5 | 0 | 6.08276253 | 4.242640687 | 5 | 4.123105626 | 3.16227766 | 4.472135955 |
| 2 | 8.485281374 | 6.08276253 | 0 | 5 | 1.414213562 | 2 | 7.280109889 | 6.403124237 |
| 3 | 3.605551275 | 4.242640687 | 5 | 0 | 3.605551275 | 4.123105626 | 7.211102551 | 1.414213562 |
| 4 | 7.071067812 | 5 | 1.414213562 | 3.605551275 | 0 | 1.414213562 | 6.708203932 | 5 |
| 5 | 7.211102551 | 4.123105626 | 2 | 4.123105626 | 1.414213562 | 0 | 5.385164807 | 5.385164807 |
| 6 | 8.062257748 | 3.16227766 | 7.280109889 | 7.211102551 | 6.708203932 | 5.385164807 | 0 | 7.615773106 |
| 7 | 2.236067977 | 4.472135955 | 6.403124237 | 1.414213562 | 5 | 5.385164807 | 7.615773106 | 0 |
from sklearn.metrics.pairwise import euclidean_distances
dist = euclidean_distances(X)
$$a_i = \frac{1}{1-|C_I|}\sum_{j\in C_I,i!=j}{d(i,j)}$$
d(i,j) là khoảng cách từ các điểm j đến điểm i trong cùng cluster
|CI| là số điểm trong cùng cluster CI
$$b(i) = min_{J != I}\frac{1}{|C_J|}\sum_{j \in C_J}{d(i,j)}$$
$$s(i)=1-\frac{a(i)}{b(i)}$$
from sklearn.metrics import silhouette_samples
silhouette_samples(X, labels)
$$SC = \frac{1}{N}\sum_{i=1}^{n}{s(i)}$$
from sklearn.metrics import silhouette_score
silhouette_score(X, labels)
| Youtube | https://www.youtube.com/watch?v=FGXkbawTHRQ |
| Wiki | https://en.wikipedia.org/wiki/Silhouette_(clustering) |
| Euclidean Distance | https://scikit-learn.org/stable/modules/generated/sklearn.metrics.pairwise.euclidean_distances.html |
| silhouette samples | https://scikit-learn.org/stable/modules/generated/sklearn.metrics.silhouette_samples.html |
| silhouette score | https://scikit-learn.org/stable/modules/generated/sklearn.metrics.silhouette_score.html |