我有一个像这样的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个观察值
答案 0 :(得分:0)
labels_属性将为您提供训练中每个数据点的标签数组。该数组的第一个索引是第一个训练数据点的标签,依此类推。