я могу изменить метку кластера / метку во фрейме данных общими точками? - PullRequest
0 голосов
/ 25 марта 2019

, поэтому я запускаю некоторые процессы для некоторых данных (kmeans - один из них, если это помогает):

до того, как процесс будет привязан к определенным точкам, например:

df1:

x     y      z       labels
1.0   2.1     3.1       1
1.2   8.6     4.2       1
3.1   4.1     1.1       2
2.2   2.9     4.6       2
8.1   7.7     2.1       3
1.1   1.9     5.7       4
4.4   7.9     6.4       5

теперь, когда эти точки назначены этим конкретным меткам, это прекрасно, но после того, как я запускаю 2-й процесс (например, другое k означает), одинаковые точки назначаются различным меткам:

 x     y      z       after_labels
1.0   2.1     3.1       2
1.2   8.6     4.2       2
3.1   4.1     1.1       1
2.2   2.9     4.6       1
8.1   7.7     2.1       3
1.1   1.9     5.7       5
4.4   7.9     6.4       4

поэтому я добавил метки до и после в одну и ту же таблицу:

 x     y      z       labels    after_labels
1.0   2.1     3.1       1           2
1.2   8.6     4.2       1           2
3.1   4.1     1.1       2           1
2.2   2.9     4.6       2           1
8.1   7.7     2.1       3           3
1.1   1.9     5.7       4           5
4.4   7.9     6.4       5           4

так что, как я вижу, первые 2 точки названы меткой 1 до процесса, но теперьего титульная метка 2, хотя она имеет те же точки.

и то же самое для точек 3 и 4. она помечена как метка (кластер) 2, но после метки 1

есть ли способциклически перебирать фрейм данных и переименовывать метки after_labels на основе общих точек на основе «меток»?Я знаю, что он не будет на 100% точным, потому что некоторые точки будут на другом лейбле, и это нормально.

так в основном:

x     y      z       labels    after_labels
 1.0   2.1     3.1       1           1
 1.2   8.6     4.2       1           1
 3.1   4.1     1.1       2           2
 2.2   2.9     4.6       2           2
 8.1   7.7     2.1       3           3
 1.1   1.9     5.7       4           5
 4.4   7.9     6.4       5           4

спасибо, ребята

...