Sobes.tech
Middle

¿Qué métricas se utilizan para evaluar la calidad del clustering? ¿Cómo seleccionar la cantidad de clusters?

sobes.tech AI

Respuesta de la IA

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

  • 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}")

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