R:Silhouette 函数结果 table
R: Silhouette function results in table
有没有办法在 table 中接收 R 中轮廓函数的结果,显示 1) 簇的数量和 2) 每个簇的平均轮廓宽度?
剪影功能将返回您需要的一切。只需捕获它并以您想要的任何方式对其进行总结。这是一个使用内置虹膜数据的示例。
library(cluster)
Iris_KM3 = kmeans(iris[,1:4],3)
SIL = silhouette(Iris_KM3$cluster, dist(iris[,1:4]))
aggregate(SIL[,3], list(SIL[,1]), mean)
Group.1 x
1 1 0.07624005
2 2 0.49471909
3 3 0.62148628
如果您 运行 上面的代码,请尝试只输入 SIL
或 str(SIL)
以查看函数为您提供的内容。
您可以使用 summary()
函数查看 silhouette()
函数的所有详细信息以进行聚类分析。我将遵循@G5W 的回答。您还可以获得每个集群中的观察数量。
library(cluster)
Iris_KM3 <- kmeans(iris[,1:4],3)
SIL <- silhouette(Iris_KM3$cluster, dist(iris[,1:4]))
summary_SIL <- summary(SIL)
cluster_SIL <- t(rbind(summary_SIL[["clus.sizes"]], summary_SIL[["clus.avg.widths"]]))
colnames(cluster_SIL) <- c("No. of Obs", "Avg. Silh. Width")
有没有办法在 table 中接收 R 中轮廓函数的结果,显示 1) 簇的数量和 2) 每个簇的平均轮廓宽度?
剪影功能将返回您需要的一切。只需捕获它并以您想要的任何方式对其进行总结。这是一个使用内置虹膜数据的示例。
library(cluster)
Iris_KM3 = kmeans(iris[,1:4],3)
SIL = silhouette(Iris_KM3$cluster, dist(iris[,1:4]))
aggregate(SIL[,3], list(SIL[,1]), mean)
Group.1 x
1 1 0.07624005
2 2 0.49471909
3 3 0.62148628
如果您 运行 上面的代码,请尝试只输入 SIL
或 str(SIL)
以查看函数为您提供的内容。
您可以使用 summary()
函数查看 silhouette()
函数的所有详细信息以进行聚类分析。我将遵循@G5W 的回答。您还可以获得每个集群中的观察数量。
library(cluster)
Iris_KM3 <- kmeans(iris[,1:4],3)
SIL <- silhouette(Iris_KM3$cluster, dist(iris[,1:4]))
summary_SIL <- summary(SIL)
cluster_SIL <- t(rbind(summary_SIL[["clus.sizes"]], summary_SIL[["clus.avg.widths"]]))
colnames(cluster_SIL) <- c("No. of Obs", "Avg. Silh. Width")