首页 > 解决方案 > 如何在 r 中的 PAM 聚类中选择手动中心点?

问题描述

我试图在 PAM 算法中指定我自己的 medoids,但无论我指定什么,它都会选择自己的。

使用下面的虚拟数据,如果我将数据放入 cluster::pam 并尝试将第 1 行和第 5 行(或任何其他选项)指定为中心点,它会选择不同的行作为输出。

# Dummy Data
data <- data.frame(age = 1:10, height = 1:10, weight = 10:1, size = 10:1)

# Cluster
library(cluster) 
pam_fit <- pam(data, metric = "euclidean", k = 2, medoids = c(1, 5))

# Output
pam_fit$medoids
     age height weight size
[1,]   2      2      9    9
[2,]   7      7      4    4

我究竟做错了什么?如果不是行号,Medoids 的输入是什么?提前致谢

标签: rcluster-analysispam

解决方案


将参数“do.swap”设置为 FALSE 以保留手动选择的 medoids。

pam_fit <- pam(data, metric = "euclidean", k = 2, medoids = c(1, 5), do.swap = FALSE)

# Output
pam_fit$medoids
      age height weight size
[1,]   1      1     10   10
[2,]   5      5      6    6


推荐阅读