有没有办法在表格中接收R中的轮廓函数的结果,显示1)群集的数量和2)每个群集的平均轮廓宽度?
答案 0 :(得分:0)
您需要的一切都由轮廓功能返回。只需抓住它并以任何方式总结它。以下是使用内置光圈数据的示例。
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)
以查看该功能为您提供的功能。
答案 1 :(得分:0)
您可以使用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")