K-中心点算法与K-means算法在原理上相近,不同的是,K-中心点算法在选择中心点时不取样本均值点,而是在类别内选取到其余样本距离之和最小的样本为中心点。
K-中心点算法主要是用cluster软件包中的pam()函数来实现的。该函数的基本格式为:
pam(x, k, diss = inherits(x, "dist"), metric = c("euclidean", "manhattan"), medoids = NULL, stand = FALSE, cluster.only = FALSE, do.swap = TRUE, keep.diss = !diss && !cluster.only && n < 100, keep.data = !diss && !cluster.only, pamonce = FALSE, trace.lev = 0)
其中x表示待处理数据集,k表示类别数;metric用于选择样本点间距离测算的方式,包括"euclidean",和"manhattan";medoids默认为NULL时,表示由软件选择初始中心点样本,也可手动设定k维向量来指定初始点;stand表示聚类前是否需要标准化;cluster.only默认为FALSE,为TRUE表示仅获取样本类别。
1 读取数据集。