如何用相似矩阵聚类并包含索引?

how cluster with similarity matrix and contain indexes?

我有一个这样的 pandas 数据框,其中每个 ID 都是一个带有变量 attr1、attr2 和 attr3 的观察值:

    ID      attr1     attr2     attr3  
  20         2         1         2  
  10         1         3         1  
   5         2         2         4  
   7         1         2         1  
  16         1         2         3  
  28         1         1         3  
  35         1         1         1  
  40         1         2         3  
  46         1         2         3
  21         3         1         3

并制作了一个相似度矩阵,我想在其中根据成对属性差异的总和比较 ID。

[[ 0.  4.  3.  3.  3.  2.  2.  3.  3.  2.]
 [ 4.  0.  5.  1.  3.  4.  2.  3.  3.  6.]
 [ 3.  5.  0.  4.  2.  3.  5.  2.  2.  3.]
 [ 3.  1.  4.  0.  2.  3.  1.  2.  2.  5.]
 [ 3.  3.  2.  2.  0.  1.  3.  0.  0.  3.]
 [ 2.  4.  3.  3.  1.  0.  2.  1.  1.  2.]
 [ 2.  2.  5.  1.  3.  2.  0.  3.  3.  4.]
 [ 3.  3.  2.  2.  0.  1.  3.  0.  0.  3.]
 [ 3.  3.  2.  2.  0.  1.  3.  0.  0.  3.]
 [ 2.  6.  3.  5.  3.  2.  4.  3.  3.  0.]]

我尝试使用 sklearn 中的 DBSCAN 对数据进行聚类,但似乎只有聚类本身被标记了?我想稍后在可视化中找到数据点的 ID。所以我只想聚类 ID 之间的差异,而不是 ID 本身。对于这种数据是否有另一种算法更好,或者我可以标记距离矩阵值以便它可以与 DBSCAN 或其他方法一起使用的方法? ps.the 数据集有超过 50 个属性和 10000 个观测值

labels_ 属性将为您的每个训练数据点提供一组标签。该数组的第一个索引是您的第一个训练数据点的标签,依此类推。