Я делаю кластеризацию kmeans в R с двумя требованиями:
Мне нужно указать свою собственную функцию расстояния, теперь это коэффициент Пирсона.
Я хочу сделать кластеризацию, которая использует среднее число членов группы в качестве центроидов, а не какой-то фактический член.Причина этого требования в том, что я думаю, что использование среднего в качестве центроида имеет больше смысла, чем использование фактического члена, поскольку члены всегда находятся не рядом с реальным центроидом.Пожалуйста, исправьте меня, если я ошибаюсь в этом.
Сначала я попробовал функцию kmeans
в пакете stat
, но эта функция не позволяет использовать метод произвольного расстояния.
Тогда я нашел pam
функцию в пакете cluster
.Функция pam
позволяет использовать пользовательскую метрику расстояния, принимая в качестве параметра объект dist
, но мне кажется, что при этом она принимает действительные элементы в виде центроидов, что не является тем, чего я ожидаю.Поскольку я не думаю, что он может выполнять все вычисления расстояния только с помощью матрицы расстояний.
Так есть ли в R простой способ сделать кластеризацию kmeans, которая удовлетворяет обоим моим требованиям?