2

クラスタリングの結果を比較するために調整済みランド指数を使用しようとしています。ここでは、例としてアイリスデータセットを使用します。これらはコードです:

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からの答えが手動計算と同じになるようにこれを実装する方法はありますか?

4

1 に答える 1

1

?adjustedRandIndex提案(状態) xを見るyと、クロス集計の結果ではなく、クラスラベルなどのベクトルである必要があります。

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

与える

## [1] 0.7311986
于 2012-07-18T05:41:57.903 に答える