Я выполняю иерархический кластерный анализ на основе «средней связи». В базе r я использую
dist_mat <- dist(cdata, method = "euclidean")
hclust_avg <- hclust(dist_mat, method = "average")
Я хочу рассчитать статистику разрывов, чтобы определить оптимальное количество кластеров. Я использую библиотеку 'cluster' и функцию clusGap. Поскольку я не могу передать решение hclust и не указать среднюю иерархическую кластеризацию в функции clusGap, я использую следующие строки:
cluster_fun <- function(x, k) list(cluster = cutree(hclust(dist(x, method = "euclidean"), method="average"), k = k))
gap_stat <- clusGap(cdata, FUN=cluster_fun, K.max=10, B=50)
print(gap_stat)
Однако здесь я не могу проверить кластерное решение. Итак, мой вопрос - могу ли я быть уверен, что статистика разрыва рассчитывается для того же решения, что и hclust_avg?
Есть ли лучший способ сделать это?