Я думаю, я нашел свой ответ для кластеризации kmeans:
Просматривая исходный код git, я обнаружил, что для обучения scikit инерция вычисляется как сумма квадратов расстояния для каждой точки до ее ближайшего центроида, то есть назначенного ему кластера. Поэтому где c r - центр тяжести назначенного кластера, а d - квадрат расстояния. я= ∑я( д( я , с т ) )с гd
Теперь формула статистики разрыва включает в себя
гдеDr- сумма квадратов расстояний между всеми точками в кластереr.
WК= ∑г = 1К1( 2 ∗ nр)Dр
Dрр
Вводя , - c в формулу квадрата расстояния ( c является центроидом координат кластера r ), у меня есть термин, который соответствует инерции (как в scikit) + термин, который исчезает, если каждый c является барицентром каждого кластера. (который должен быть в kmeans). Так что я думаю, что W k на самом деле является инерцией.+ с- ссрсWК
У меня есть еще два вопроса:
- Как вы думаете, мое исчисление правильно? (Например, я не знаю, верно ли это для иерархической кластеризации.)
- Если я прав, как указано выше, я закодировал статистику разрыва (как разность логарифмических инерций между оценкой и кластеризацией), и она плохо работает, особенно на наборе данных iris, кто-нибудь пробовал?