在调整后的兰特指数的参数x和y中输入值的正确步骤?

时间:2012-07-18 05:23:50

标签: r clustered-index hierarchical-clustering

我尝试使用调整后的兰德指数来比较群集结果。在这里,我以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和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的答案与手动计算相同?

1 个答案:

答案 0 :(得分:1)

查看?adjustedRandIndex建议(状态)xy应该是类标签或类似标签的向量,而不是交叉列表的结果

adjustedRandIndex(cutree(iris.hc, 3), iris$Species)

给出

## [1] 0.7311986