Julia:提取聚类索引



我正在使用julia的聚类包在UMAP的输出上获得dbscan聚类结果,但我一直在尝试从DBscanresult数据结构中获得聚类索引。我的目标是将集群索引作为2D散点图的向量传递,但我找不到从dbscan结果中获得该向量的方法。

Julia在dbscan下实现了两种方法。我使用的是邻接列表实现,它采用点坐标的n x d数组(umapresults,如下(。

db = dbscan(umapresults, .1, min_neighbors = 10, min_cluster_size = 10)

产生结果:

13-element Array{DbscanCluster,1}:
 DbscanCluster(17, [4, 12, 84, 90, 94, 675, 676, 737, 873, 965], [27, 108, 177, 880, 954, 1050, 1067])
 DbscanCluster(10, Int64[], [46, 48, 51, 57, 188, 225, 226, 228, 270, 542])
 DbscanCluster(11, [48, 51, 228], [46, 49, 57, 188, 225, 226, 270, 542])
 DbscanCluster(14, [418, 759, 832, 988, 1046], [830, 831, 855, 865, 989, 991, 996, 1021, 1070])
 DbscanCluster(10, Int64[], [624, 654, 664, 803, 805, 821, 859, 987, 1057, 1069]) ...

但ACAICD并没有直接的方法从这些结果中获得唯一的聚类指数。

理想情况下,我想要一个产生独特分配的实现:

assignments::Vector{Int}: vector of clusters indices, where each point was assigned to a single cluster

这种方法实际上存在,并在dbscan的"距离矩阵"版本中实现,但在"邻接列表"实现中不存在等效方法。

非常感谢您的真知灼见。

感谢@nils gudat,我找到了对我有用的答案。TIL,我必须将getproperty()广播到getproperty.()后面带点的结果结构。对于邻接列表方法,dbscan()中的结果结构DbscanCluster有三个字段,它们是:

DBSCAN

dbscan函数返回的集群(基于点坐标的实现(

字段

  • size::Int:集群中的点数(核心+边界(
  • core_indices::Vector{Int}:集群核心点的索引
  • boundary_indices::Vector{Int}:簇边界上的点的索引

没有"赋值",就像在基于距离的矩阵方法中一样,所以如果我必须通过广播返回core_indices矢量:

getproperty.(drb, :core_indices)

这给了我我想要的阵列:

7-element Array{Array{Int64,1},1}:
 [3, 33, 35, 36, 37, 45, 60, 63, 67, 68, 69, 219, 263, 273, 274, 453, 454, 547, 560, 1077]
 [5, 8, 10, 11, 14, 17, 19, 21, 22, 24  …  1094, 1095, 1097, 1098, 1099, 1100, 1102, 1103, 1104, 1105]
 [6, 179, 199, 223, 344, 345, 346, 350, 353, 355, 379, 385, 388, 389, 416, 423, 430, 447, 562, 565]
 [29, 66, 133, 138, 141, 164, 171, 181, 194, 250  …  702, 883, 887, 990, 997, 998, 1015, 1055, 1056, 1074]
 [86, 103, 140, 160, 207, 251, 253, 275, 284, 298  …  958, 993, 994, 999, 1002, 1004, 1005, 1024, 1072, 1092]
 [418, 759, 802, 804, 818, 819, 830, 831, 832, 855  …  988, 989, 991, 995, 996, 1021, 1046, 1047, 1049, 1070]
 [502, 518, 806, 822, 829, 850, 912, 964]

相关内容

  • 没有找到相关文章

最新更新