Sobes.tech
Middle

Welke metrics worden gebruikt om de kwaliteit van clustering te beoordelen? Hoe kies je het aantal clusters?

sobes.tech AI

Antwoord van AI

Для оценки качества кластеризации используют несколько метрик:

  • Silhouette Score — измеряет, насколько объекты внутри кластера похожи друг на друга и насколько они далеки от объектов других кластеров. Значение от -1 до 1, где ближе к 1 — лучше.
  • Davies-Bouldin Index — среднее отношение внутрикластерного разброса к межкластерному расстоянию. Чем меньше, тем лучше.
  • Calinski-Harabasz Index — отношение межкластерной дисперсии к внутрикластерной. Чем больше, тем лучше.

Подбор количества кластеров часто происходит с помощью:

  • Метода локтя (Elbow Method) — строится график зависимости метрики (например, суммы квадратов расстояний внутри кластеров) от числа кластеров. Точка "излома" на графике считается оптимальным числом.
  • Silhouette Analysis — выбирается число кластеров с максимальным средним Silhouette Score.

Пример использования Silhouette Score в Python с sklearn:

from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score

X = ... # данные

for n_clusters in range(2, 10):
    kmeans = KMeans(n_clusters=n_clusters, random_state=42).fit(X)
    labels = kmeans.labels_
    score = silhouette_score(X, labels)
    print(f"Кластеры: {n_clusters}, Silhouette Score: {score:.3f}")

Таким образом, выбирается число кластеров с наилучшей метрикой.