具有相似性矩阵和包含索引的聚类如何?

时间:2017-06-09 13:06:16

标签: python indexing scikit-learn dbscan distance-matrix

我有一个像这样的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

并根据成对属性差异的总和制作了一个我想要使用的相似度矩阵。

[[ 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个观察值

1 个答案:

答案 0 :(得分:0)

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