我正在尝试使用hdbscan聚类后重建脑瘤图像。
但是,hdbscan与kmeans不同,它没有集群中心,因此我对如何获得集群映像感到有点困惑。我尝试通过将(65536,3)数组与hdbscan标签(即r)进行匹配,并在获得crs中每个集群的平均聚类点后存储它们,从而获得ref集群中心。
我不确定这是否是重建图像的最好方法,也就是基于聚类获得一些均值中心,然后使用均值中心加标签重建图像。
crs = np.zeros((dbnumber_of_clusters, 3))
for i in range(0, dbnumber_of_clusters):
dbcluster_points = mriarr[r == i]
dbcluster_mean = np.mean(dbcluster_points, axis=0)
crs[i, :] = dbcluster_mean发布于 2019-08-13 15:28:27
HDBSCAN不是为“重建”数据而设计的。因此,可能没有一种优雅的方法。
使用每个聚类的平均值是一个明显的选择wrt。模拟k-mrans所做的事情,但如果群集不是凸的,则这样的点可能位于实际群集之外。因此,选择最密集的点可能是合适的。此外,聚类应该是分层的,所以在计算集群代表时,还应该考虑嵌套集群的数据...最后但并非最不重要的一点是,它可能会产生一个“噪声集群”。这实际上不是一个集群,而仅仅是所有未集群的数据。计算这些点的单个代表性对象是没有意义的。相反,您可能希望将这些点视为每个点都有自己的集群。
https://stackoverflow.com/questions/57470188
复制相似问题