如何计算R中DTWCLUST库的Centroid

时间:2017-08-26 00:59:22

标签: r cluster-computing

我在r中使用DTWCLUST包。这是我的代码。

library(dtwclust)
sc1 <- read.table("D:/handling data/confirm4.csv", header=T, sep="," )
hc_sbd <- dtwclust(sc1, type = 'h', k=5L, method = 'ward.D', preproc = zscore,
                distance = 'dtw', control = list(trace=TRUE) )
clusters <- cutree(hc_sbd,6)
head(clusters)
result <- cbind.data.frame(sc1,clusters)
plot(hc_sbd, type='centroids', clus=1) + ylim(-3, 3) + scale_x_continuous( breaks = c(1,6,12,18,24,30,36,42), labels= real_label )

当我跑plot(hc_sbd, type='centroids', clus=1) + ylim(-3, 3) + scale_x_continuous( breaks = c(1,6,12,18,24,30,36,42), labels= real_label )时,绘制了原型。 但我不知道PAM如何计算质心,这是默认选项。任何人都可以帮助我理解PAM获得质心的概念吗? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

在包中包含的实现中, 来自数据的 k 系列被随机选择为初始质心。 然后计算所有系列和质心之间的距离 (如果是预先计算的,则从整个距离矩阵中检索), 并且每个系列都分配给最近的质心的簇。 对于每个创建的集群, 计算所有成员系列之间的距离(如有必要), 并且选择具有最小距离总和的系列作为新的质心。 这将继续迭代,直到没有系列更改簇, 或者已超过允许的最大迭代次数。

Here's the code

(如果您使用的是dtwclust 4.0.0或更高版本,则应该使用tsclust功能)