Как восстановить изображение после кластеризации с помощью hdbscan?

Я пытаюсь восстановить изображение опухоли головного мозга после кластеризации с помощью hdbscan.

Однако у hdbscan нет центров кластеров, в отличие от kmeans, поэтому я немного запутался в том, как получить кластерное изображение. Я попытался получить центр кластера ref, сопоставив массив (65536,3) с метками hdbscan, то есть r, и сохранил их после получения средних точек кластера для каждого кластера в crs.

Я не уверен, что это лучший способ продолжить реконструкцию изображения, то есть получить некоторые средние центры на основе кластеров и восстановить изображение, используя средние центры плюс метки.

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

person an305692    schedule 13.08.2019    source источник


Ответы (1)


HDBSCAN не предназначен для «восстановления» данных. Так что элегантного способа может и не быть.

Использование среднего значения каждого кластера - очевидный выбор. имитируя то, что делает k-mrans, но такая точка может лежать за пределами фактического кластера, если кластер не выпуклый. Так что вместо этого может быть уместным выбрать наиболее плотную точку. Кроме того, предполагается, что кластеризация должна быть иерархической, поэтому при вычислении представителя кластера вы также должны учитывать данные вложенных кластеров ... И последнее, но не менее важное: это может создать "шумовой кластер". ". На самом деле это не кластер, а просто все некластеризованные данные. Вычисление единственного репрезентативного объекта таких точек не имеет смысла. Вместо этого вы, вероятно, захотите рассматривать эти точки, поскольку каждая точка несет свой собственный кластер.

person Has QUIT--Anony-Mousse    schedule 13.08.2019