我有兴趣确定使用 Calinski-Harabasz (CH) 索引的 PAM 聚类算法计算的最佳聚类数。为此,我发现 2 个不同的 R 函数计算给定聚类的 CH 值,但返回不同的结果:?cluster.stats(在fpc 包中)和?index.G1(在clusterSim包中)。
第一个通过以下方式调用:
pam.res <- pam(dist.matrix, 2, diss=TRUE)
ch1 <- cluster.stats(dist.matrix, pam.res$clustering, silhouette=TRUE)$ch
第二个通过以下方式调用:
ch2 <- index.G1(t(dataframe), pam.res$clustering, d=dist.matrix)
数据可以在这里找到: dataframe.RData,或者在这里:dist.matrix.RData [死链接]。
任何人都可以向我解释这两个 CH 指数计算之间的区别吗?
使用
cluster.stats()
,获得 2 个簇的最高 CH 索引();在使用时,获得了 3 个集群的最高 CH 指数(完全不同)。index.G1()
通常使用哪个函数来计算 CH 指数?