Калькулятор коэффициента силуэта

Введите точки и кластер каждой из них — результат k-means или любой другой кластеризации. Калькулятор найдёт силуэт каждой точки, среднее по каждому кластеру и общий коэффициент силуэта, который показывает, насколько хорошо разделены кластеры.

Координаты каждой точки, точки через «;», например 1 2; 2 1; 8 8
Одна метка на точку в том же порядке, например A A B
Коэффициент силуэта (средний)0,8256
Интерпретация
Сильная структура (больше 0,70)
Среднее по кластерам
A: 0,8249; B: 0,8262
По точкам (первые 20)
0,8551; 0,8238; 0,7959; 0,8384; 0,8083; 0,832
Точек с отрицательным силуэтом
0
Кластеров
2
Точек
6

Работает в браузере: всё, что вы вводите, никуда не отправляется.

Как пользоваться

  1. Введите точки: координаты каждой через пробел, а точки — через точку с запятой. Размерность любая, но у всех точек одинаковая; дробные координаты пишите с запятой: 1,5 2.
  2. Введите по одной метке кластера на точку в том же порядке — буквы, числа или слова.
  3. Смотрите коэффициент силуэта, его интерпретацию, среднее по кластерам и значения первых 20 точек.

Как это работает

Для каждой точки i при евклидовом расстоянии:

  • a(i) — среднее расстояние от i до остальных точек её кластера;
  • b(i) — для каждого другого кластера среднее расстояние от i до его точек, из них наименьшее;
  • s(i) = (b(i) − a(i)) ÷ max(a(i), b(i)), а если точка одна в кластере, s(i) = 0.

Коэффициент силуэта — среднее s(i) по всем точкам, как в silhouette_score из scikit-learn.

Пример

Шесть точек в двух группах: A = (1, 2), (2, 1), (2, 3) и B = (8, 8), (9, 7), (9, 9).

Для точки (1, 2):

  • a = среднее расстояние до (2, 1) и (2, 3) = (√2 + √2) ÷ 2 = 1,4142;
  • b = среднее расстояние до кластера B = (√85 + √89 + √113) ÷ 3 = 9,7612;
  • s = (9,7612 − 1,4142) ÷ 9,7612 = 0,8551.

Так же для всех точек: среднее по кластерам A: 0,8249; B: 0,8262, коэффициент силуэта 0,8256 — сильная структура.

Советы

  • Сначала масштабируйте признаки. В расстоянии смешиваются все координаты, и признак в тысячах заглушит признак в долях.
  • Силуэт любит круглые кластеры одинакового размера. Для вытянутых или вложенных форм, которые находит DBSCAN, низкий коэффициент не всегда означает плохую кластеризацию.
  • Расстояние между двумя точками напрямую покажет калькулятор манхэттенского и евклидова расстояния.

Частые вопросы

Что такое коэффициент силуэта?

Мера того, насколько точка подходит своему кластеру по сравнению с ближайшим чужим, от −1 до 1. Для точки a — среднее расстояние до остальных точек её кластера, b — наименьшее среднее расстояние до точек другого кластера; её силуэт равен (b − a) ÷ max(a, b). Коэффициент кластеризации — среднее по всем точкам.

Какой коэффициент силуэта считается хорошим?

Близко к 1 — компактные, хорошо разделённые кластеры; около 0 — кластеры соприкасаются или перекрываются; отрицательные значения — точки ближе к чужому кластеру, чем к своему. Кауфман и Руссеу предлагали считать больше 0,70 сильной структурой, 0,51–0,70 — приемлемой, 0,26–0,50 — слабой, 0,25 и меньше — отсутствием существенной структуры.

Как выбрать k в k-means по силуэту?

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

Что с кластером из одной точки?

Её силуэт равен 0 — так определил Руссеу и так делает scikit-learn, потому что a для неё не определено. Кроме того, нужно не меньше 2 кластеров и меньше кластеров, чем точек.

Ещё в разделе «Разработчикам»

Все инструменты раздела: Разработчикам ·Обновлено 7 ноября 2026 г.

Настройки конфиденциальности

Google Analytics показывает нам, какими инструментами пользуются и работают ли они. Он может ставить cookie. Ваш выбор сохраняется в этом браузере.