Как кластер с матрицей сходства и содержит индексы?

У меня есть такой фрейм данных для панд, где каждый идентификатор представляет собой наблюдение с переменными 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.]]

Я пробовал DBSCAN из sklearn для кластеризации данных, но кажется, что помечены только сами кластеры? Я хочу найти идентификатор для точек данных в визуализации позже. Поэтому я хочу объединить только разницу между идентификаторами, но не сами идентификаторы. Есть ли другой алгоритм лучше для такого рода данных, или как я могу пометить значения матрицы расстояний, чтобы его можно было использовать с DBSCAN или другим методом? ps.The набор данных имеет более 50 атрибутов и 10000 наблюдений

1 ответ

Решение

Атрибут tags_ даст вам массив меток для каждой из ваших точек данных от обучения. Первый индекс этого массива - это метка вашей первой точки тренировочных данных и так далее.

Другие вопросы по тегам