Метрики качества кластеризации

Что измеряет

Definition

Метрики качества кластеризации измеряют, насколько хорошо алгоритм разделил объекты на группы: похожие объекты должны оказаться внутри одного кластера, а непохожие — в разных кластерах.

Кластеризация относится к задачам без учителя, поэтому оценивать её сложнее, чем классификацию или регрессию. Часто у нас нет правильных меток, с которыми можно напрямую сравнить результат.

Поэтому метрики кластеризации делят на две группы:

  • внутренние метрики — оценивают качество только по самим данным и найденным кластерам;
  • внешние метрики — сравнивают кластеры с известными метками, если такие метки есть.

Формула

Silhouette score

Коэффициент силуэта измеряет, насколько объект похож на объекты в своём кластере по сравнению с объектами из других кластеров.

Для одного объекта:

где:

  • — среднее расстояние от точки до других точек в её кластере;
  • — минимальное среднее расстояние от точки до точек в другом ближайшем кластере;
  • — silhouette score для объекта.

Обычно метрика усредняется по всем объектам.

Интерпретация:

ЗначениеИнтерпретация
Ближе к 1Объект хорошо лежит внутри своего кластера
Около 0Объект находится на границе между кластерами
Ближе к -1Объект, возможно, отнесён не к тому кластеру

Диапазон silhouette score: от -1 до 1. Чем ближе значение к 1, тем лучше разделены кластеры.

Davies-Bouldin index

Davies-Bouldin index оценивает отношение внутрикластерного разброса к расстоянию между кластерами.

Интуиция:

где:

  • — число кластеров;
  • — средний разброс объектов внутри кластера ;
  • — расстояние между центрами кластеров и .

Чем меньше Davies-Bouldin index, тем лучше.

Calinski-Harabasz index

Calinski-Harabasz index сравнивает разброс между кластерами с разбросом внутри кластеров.

Интуиция:

Чем больше значение, тем лучше: кластеры дальше друг от друга и компактнее внутри.

Adjusted Rand Index

Adjusted Rand Index используется, если есть истинные метки классов. Он сравнивает, насколько одинаково две разметки группируют пары объектов.

Значения обычно интерпретируют так:

  • 1 — разбиения полностью совпадают;
  • около 0 — совпадение примерно случайное;
  • меньше 0 — хуже случайного совпадения.

Интуиция

Хорошая кластеризация должна удовлетворять двум условиям:

  1. Внутри кластера объекты похожи друг на друга.
  2. Разные кластеры хорошо отделены друг от друга.

Внутренние метрики пытаются измерить именно это.

Например:

  • silhouette score награждает компактные и хорошо отделённые кластеры;
  • Davies-Bouldin index штрафует кластеры, которые широкие внутри и близко расположены друг к другу;
  • Calinski-Harabasz index награждает большой межкластерный разброс и маленький внутрикластерный разброс.

Но хорошая численная метрика не гарантирует, что кластеры имеют смысл в предметной области.

Как интерпретировать

Silhouette score

Silhouette score удобно использовать как первую быструю оценку.

Примерная интерпретация:

ЗначениеИнтерпретация
0.7–1.0кластеры хорошо отделены
0.4–0.7структура есть, но не идеальная
0.2–0.4кластеры слабые или пересекаются
< 0.2кластерная структура сомнительна

Это не строгие границы, а ориентиры.

Davies-Bouldin index

Для Davies-Bouldin index меньше — лучше. Но абсолютное значение трудно интерпретировать без сравнения с другими моделями или параметрами.

Эту метрику удобно использовать, чтобы сравнить несколько вариантов кластеризации на одном датасете.

Calinski-Harabasz index

Для Calinski-Harabasz index больше — лучше. Но, как и Davies-Bouldin, его обычно используют сравнительно: например, чтобы выбрать число кластеров или сравнить алгоритмы.

Adjusted Rand Index

ARI полезен, если есть внешние метки. Например, если известны настоящие классы объектов, но алгоритм кластеризации их не видел при обучении.

Важно: кластеры не обязаны совпадать с классами. Иногда алгоритм находит другую структуру данных, которая тоже может быть полезной.

Когда использовать

Silhouette score хорошо использовать, если:

  • нет истинных меток;
  • нужно быстро сравнить несколько вариантов кластеризации;
  • кластеры ожидаются компактными и отделёнными;
  • используется алгоритм вроде k-means.

Davies-Bouldin index хорошо использовать, если:

  • нужно сравнить модели по компактности и разделённости;
  • важны плотные кластеры;
  • нужно подобрать число кластеров.

Calinski-Harabasz index хорошо использовать, если:

  • кластеры примерно выпуклые;
  • нужно сравнить разные значения ;
  • требуется быстрая внутренняя метрика.

Adjusted Rand Index хорошо использовать, если:

  • есть внешние истинные метки;
  • нужно сравнить найденные кластеры с известной разметкой;
  • кластеризация используется как способ восстановить известную структуру.

Когда метрика обманывает

Метрика не понимает предметный смысл

Алгоритм может получить хорошую метрику, но найти кластеры, которые не имеют полезной интерпретации.

Например, клиенты могут разделиться по техническому признаку сбора данных, а не по реальному поведению.

Метрики предпочитают кластеры определённой формы

Многие внутренние метрики хорошо работают для компактных, округлых и хорошо отделённых кластеров. Но реальные данные могут иметь сложную форму.

Например, DBSCAN может находить кластеры произвольной формы, а silhouette score не всегда хорошо отражает качество такого результата.

Масштаб признаков искажает расстояния

Если признаки не масштабированы, расстояния между объектами могут быть бессмысленными.

Например, признак с большим числовым диапазоном может полностью доминировать над остальными признаками. Поэтому перед кластеризацией часто нужна предобработка.

Высокая метрика не гарантирует правильное число кластеров

Внутренние метрики могут подсказывать число кластеров, но не доказывают, что именно такое разбиение правильно.

Выбор числа кластеров должен учитывать:

  • метрики;
  • визуализацию;
  • устойчивость результата;
  • предметную интерпретацию.

Внешние метки могут не совпадать с целью кластеризации

Если ARI низкий, это не всегда значит, что кластеризация плохая. Возможно, алгоритм нашёл другую структуру, отличную от заранее известных классов.

Связанные метрики

Основные внутренние метрики:

  • silhouette score;
  • Davies-Bouldin index;
  • Calinski-Harabasz index;
  • внутрикластерная сумма квадратов;
  • среднее расстояние до центра кластера.

Основные внешние метрики:

  • adjusted Rand index;
  • normalized mutual information;
  • homogeneity;
  • completeness;
  • V-measure.

Для k-means часто дополнительно смотрят inertia — сумму квадратов расстояний объектов до центров своих кластеров. Её можно использовать в elbow method, но сама по себе она обычно уменьшается при росте числа кластеров, поэтому не является универсальным критерием.

Минимальный пример

Допустим, есть шесть объектов:

ОбъектПризнак 1Признак 2Кластер
A1.01.11
B1.20.91
C0.81.01
D5.05.12
E5.24.92
F4.85.02

Объекты A, B, C расположены близко друг к другу. Объекты D, E, F тоже расположены близко друг к другу. Между двумя группами большое расстояние.

В такой ситуации внутренние метрики должны показать хорошее качество:

  • silhouette score будет высоким;
  • Davies-Bouldin index будет низким;
  • Calinski-Harabasz index будет высоким.

Если же один объект из первой группы случайно попадёт во второй кластер, silhouette score для него станет низким или отрицательным.

Практические замечания

Хорошая практика оценки кластеризации:

  1. Проверить масштабирование признаков.
  2. Сравнить несколько алгоритмов, например k-means и DBSCAN.
  3. Сравнить несколько значений числа кластеров, если алгоритм требует .
  4. Использовать несколько метрик, а не одну.
  5. Визуализировать данные или embedding-пространство.
  6. Проверить устойчивость кластеров при изменении параметров.
  7. Интерпретировать кластеры с точки зрения предметной области.

Кластеризация часто используется как исследовательский инструмент. Поэтому итоговая оценка должна включать не только метрику, но и вопрос: помогают ли найденные группы лучше понять данные.

Связанные понятия