【发布时间】:2014-10-21 07:51:05
【问题描述】:
我使用以下方法对我的数据运行 kmeans:
spherical_Data <- kmeans(myData,4)
现在计算我使用的邓恩指数:
spherical_Data <- kmeans(myData,4)
Dist <- dist(myData,method="euclidean")
dunn(Dist, spherical_Data$cluster)
这里 Dunn 函数的第二个参数是一个向量,其中包含 myData 中所有点的集群成员资格。
现在我按如下方式运行内核化 kmeans:
kernel_Kmeans <- kkmeans(myData, centers=4, kernel = "rbfdot", kpar = "automatic")
kernel_Kmeans 给我以下输出:
Spectral Clustering object of class "specc"
Cluster memberships:
3 1 3 3 3 2 3 3 2 3 2 2 3 2 1 4 3 1 2 1 3 3 4 2 2 1 1 2 3 3 2 1 4 1 2 3 3 2 3 4 2 2 3 1 1 3 2 2 3 3 1 3 3 1 1 2 1 4 4 3 3 3 3 4 3 3 3 3 3 2 1 3 1 2 3 2 4 3 1 2 3 2 4 2 3 2 1 3 3 4 2 3 2 3 1 2 3 4 2 3 2 4 1 2 1 1 2 1 2 1 1 3 3 3 3 2 3 3 1 1 1 2 1 4 1 1 3 3 2 4 3 3 1 3 1 2 1 2 1 2 3 1 1 1 3 3 4 2 1 3 1 1 3 3 3 3 3 2 2
Gaussian Radial Basis kernel function.
Hyperparameter : sigma = 7.63469658003494
Centers:
[,1] [,2]
[1,] 0.03108416 -0.2142212
[2,] -0.63034038 -0.6909727
[3,] 0.69360916 0.3623118
[4,] -0.95418284 0.1941879
Cluster size:
[1] 287 209 389 115
Within-cluster sum of squares:
[1] 286.34824 27.35574 188.54685 158.99104
要计算 Dunn 指数,我需要第一个输出,即包含所有点的集群成员资格的向量(在集群成员资格下标记)。
dunn(Dist, kernel_Kmeans$cluster) does not work.
谁能告诉我这是怎么做到的。
【问题讨论】:
标签: r