Индекс Калински-Харабаша (CHI) , также известный как критерий отношения дисперсии (VRC), представляет собой метрику для оценки алгоритмов кластеризации , введенную Тадеушем Калински и Ежи Харабашем в 1974 году. [1] Это внутренняя метрика оценки, где оценка качества кластеризации основана исключительно на наборе данных и результатах кластеризации, а не на внешних, достоверных метках.
При наличии набора данных из n точек: { x 1 , ..., x n } и назначении этих точек k кластерам: { C 1 , ..., C k } индекс Калински–Харабаша (CH) определяется как отношение межкластерного разделения (BCSS) к внутрикластерной дисперсии (WCSS), нормализованное по числу степеней свободы:
BCSS (межкластерная сумма квадратов) — это взвешенная сумма квадратов евклидовых расстояний между каждым кластерным центроидом (средним) и общим центроидом данных (средним):
где n i — количество точек в кластере C i , c i — центроид C i , а c — общий центроид данных. BCSS измеряет, насколько хорошо кластеры отделены друг от друга (чем выше, тем лучше).
WCSS (внутрикластерная сумма квадратов) — это сумма квадратов евклидовых расстояний между точками данных и их соответствующими кластерными центроидами:
WCSS измеряет компактность или связность кластеров (чем меньше, тем лучше). Минимизация WCSS является целью алгоритмов кластеризации на основе центроидов, таких как k-средние .
Числитель индекса CH - это разделение между кластерами (BCSS), деленное на его степени свободы. Число степеней свободы BCSS равно k - 1, поскольку фиксация центроидов k - 1 кластеров также определяет k -й центроид, поскольку его значение делает взвешенную сумму всех центроидов соответствующей общему центроиду данных.
Знаменатель индекса CH — это дисперсия внутри кластера (WCSS), деленная на его степени свободы . Число степеней свободы WCSS равно n - k , поскольку фиксация центроида каждого кластера уменьшает степени свободы на единицу. Это происходит потому, что при наличии центроида c i кластера C i назначение n i - 1 точек этому кластеру также определяет назначение n i - й точки, поскольку общее среднее значение точек, назначенных кластеру, должно быть равно c i .
Разделение BCSS и WCSS на их степени свободы помогает нормализовать значения, делая их сопоставимыми при различном количестве кластеров. Без этой нормализации индекс CH может быть искусственно завышен для более высоких значений k , что затрудняет определение того, является ли увеличение значения индекса результатом действительно лучшей кластеризации или просто результатом увеличения количества кластеров.
Более высокое значение CH указывает на лучшую кластеризацию, поскольку это означает, что точки данных более разбросаны между кластерами, чем внутри кластеров.
Хотя удовлетворительного вероятностного обоснования для использования индекса CH не существует, критерий обладает некоторыми желательными математическими свойствами, как показано в [1] . Например, в частном случае равных расстояний между всеми парами точек индекс CH равен 1. Кроме того, он аналогичен статистике F-теста в одномерном анализе.
Лю и др. [2] обсуждают эффективность использования индекса CH для оценки кластера по сравнению с другими внутренними метриками оценки кластеризации. Маулик и Бандйопадхай [3] оценивают производительность трех алгоритмов кластеризации с использованием четырех индексов валидности кластера, включая индекс Дэвиса–Боулдина , индекс Данна , индекс Калински–Харабаса и недавно разработанный индекс. Ван и др. [4] предложили улучшенный индекс для валидации кластеризации на основе индексации Silhouette и индекса Калински–Харабаса.
Подобно другим метрикам оценки кластеризации, таким как Silhouette score , индекс CH может использоваться для поиска оптимального числа кластеров k в алгоритмах типа k-means , где значение k неизвестно априори. Это можно сделать, выполнив следующие шаги:
Библиотека Python scikit-learn обеспечивает реализацию этой метрики в модуле sklearn.metrics. [5]
R предоставляет аналогичную реализацию в своем пакете fpc . [6]