Sobes.tech
Middle
16

Какие метрики используются для оценки качества кластеризации? Как подбирать количество кластеров?

Компании, где спрашивали
RDP

Ответ от нейросети

sobes.tech 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}")

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