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