可视化 NbClust 的结果
Visualize Results from NbClust
在对我的数据执行 NbClust
后,我发现根据多数规则,5 个聚类被确定为最佳数量。但是,我如何找出哪些指数产生了这 5 个集群?
另外,如何使用省略号绘制这些新数据和 color/group?过去我使用过 facto
包中的 fviz_cluster
,但通常使用 kmeans
对象。我试图输入我的 nb
但这是一个列表,因此导致错误。我知道我可以绘制具有最佳簇数的直方图,但我并没有尝试绘制它。
以虹膜为例的可重现示例
library("NbClust")
data(iris)
iris.scaled <- scale(iris[, -5])
set.seed(123)
res.nb <- NbClust(iris.scaled, distance = "euclidean",
min.nc = 2, max.nc = 10,
method = "complete", index ="gap")
res.nb # print the results
fviz_nbclust(res.nb) + theme_minimal()
参数 index
应该是 all
。但是,可以通过忽略填写此参数让包本身执行此操作。
res.nb <- NbClust(iris.scaled, distance = "euclidean",
min.nc = 2, max.nc = 10,
method = "complete")
res.nb <- NbClust(iris.scaled, distance = "euclidean",
min.nc = 2, max.nc = 10,
method = "complete",
index ="all")
library(factoextra)
fviz_nbclust(res.nb)
在对我的数据执行 NbClust
后,我发现根据多数规则,5 个聚类被确定为最佳数量。但是,我如何找出哪些指数产生了这 5 个集群?
另外,如何使用省略号绘制这些新数据和 color/group?过去我使用过 facto
包中的 fviz_cluster
,但通常使用 kmeans
对象。我试图输入我的 nb
但这是一个列表,因此导致错误。我知道我可以绘制具有最佳簇数的直方图,但我并没有尝试绘制它。
以虹膜为例的可重现示例
library("NbClust")
data(iris)
iris.scaled <- scale(iris[, -5])
set.seed(123)
res.nb <- NbClust(iris.scaled, distance = "euclidean",
min.nc = 2, max.nc = 10,
method = "complete", index ="gap")
res.nb # print the results
fviz_nbclust(res.nb) + theme_minimal()
参数 index
应该是 all
。但是,可以通过忽略填写此参数让包本身执行此操作。
res.nb <- NbClust(iris.scaled, distance = "euclidean",
min.nc = 2, max.nc = 10,
method = "complete")
res.nb <- NbClust(iris.scaled, distance = "euclidean",
min.nc = 2, max.nc = 10,
method = "complete",
index ="all")
library(factoextra)
fviz_nbclust(res.nb)