这显示了我想要的结果,蓝色集群完全从其余数据中脱落。我使用以下代码创建了这个图:
library(densityClust)
nbhf_dist=dist(StrongGMM[,6:10])
NB_den_clus=densityClust(nbhf_dist, gaussian=TRUE)
plot(NB_den_clus)
NBClust <- findClusters(NB_den_clus, rho=5, delta=5)
plotMDS(NBClust)
rho 和 delta 由决策图 (NB_den_clus) 确定。这一切都很完美。
我的问题是我想用不同的标签重新创建这个密度图。我正在尝试查看我的数据收集位置是否严重影响这些集群。
对于最终的聚类发现,这是输出:
> str(NBClust)
List of 8
$ rho : num [1:1064] 6.46 2 4.12 5.97 14.47 ...
$ delta : num [1:1064] 0.771 0.478 1.178 0.953 2.292 ...
$ distance :Class 'dist' atomic [1:565516] 4.2 2.61 25.07 25.48 20.04 ...
.. ..- attr(*, "Size")= int 1064
.. ..- attr(*, "Diag")= logi FALSE
.. ..- attr(*, "Upper")= logi FALSE
.. ..- attr(*, "method")= chr "euclidean"
.. ..- attr(*, "call")= language dist(x = StrongGMM[, 6:10])
$ dc : num 1.9
$ threshold: Named logi [1:2] 5 5
..- attr(*, "names")= chr [1:2] "rho" "delta"
$ peaks : int [1:3] 441 416 1021
$ clusters : int [1:1064] 3 3 3 1 1 2 2 2 2 2 ...
$ halo : logi [1:1064] FALSE FALSE FALSE TRUE TRUE TRUE ...
- attr(*, "class")= chr "densityCluster"
无论如何将已知标签应用于我的原始密度簇距离矩阵,而不是密度簇函数生成的簇,并且仍然具有相同的 MDS 图?
如果我需要在任何时候澄清,请告诉我。我知道我没有提供数据来重现,但现在我什至不确定从哪里开始。我试图用我想使用的标签替换 NBClust$clusters 向量,但这会产生一个空白的 MDS(只有点,没有彩色标签)。我相信如果没有峰值,这是无效的。但是,我无法知道已知集群的峰值是什么。
我认为答案在代码的前面。