Как кластер с матрицей сходства и содержит индексы?
У меня есть такой фрейм данных для панд, где каждый идентификатор представляет собой наблюдение с переменными 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_ даст вам массив меток для каждой из ваших точек данных от обучения. Первый индекс этого массива - это метка вашей первой точки тренировочных данных и так далее.