我试图使用调整后的兰德指数来比较聚类结果。这里,我以 Iris 数据集为例。这些是代码:
iris.data=subset(iris, select=-Species)
iris.eucdist <- dist(iris.data, method="euclidean")
iris.sqeucdist <- iris.eucdist^2
iris.hc <- hclust(iris.sqeucdist, "ward")
plot(iris.hc, main="Dendrogram of Ward's Method", label=iris$Species)
table(cutree(iris.hc, 3), iris$Species)
## setosa versicolor virginica
## 1 50 0 0
## 2 0 49 15
## 3 0 1 35
首先,我使用上表中的值手动计算 ARI(Hubert and Arabie,1985)。答案是 0.7311986。但是,当我使用 R 时,我无法得到相同的答案。
library(mclust)
U=c(50,0,0,50,0,49,1,50,0,15,35,50)
V=c(50,0,0,50,0,49,15,64,0,1,35,36)
adjustedRandIndex(U,V)
## [1] 0.6961326
也许,我输入值的方式是错误的。有没有办法实现这一点,以便 R 的答案与手动计算相同?