У меня есть приложение, в котором пользователи взаимодействуют друг с другом. Я хочу визуализировать эти взаимодействия, чтобы я мог определить, существуют ли кластеры пользователей (в рамках которых взаимодействия происходят чаще).
Я назначил 2D точку каждому пользователю (где каждая координата находится в диапазоне от 0 до 1). Моя идея состоит в том, что точки двух пользователей сближаются друг с другом, когда они взаимодействуют, что является «силой притяжения», и я просто неоднократно просматриваю свои журналы взаимодействия снова и снова.
Конечно, мне нужна «сила отталкивания», которая тоже раздвинет пользователей, иначе все они просто свернутся в одну точку.
Сначала я попытался контролировать самую низкую и самую высокую из каждой из координат XY и нормализовать их положения, но это не сработало, несколько пользователей с небольшим количеством взаимодействий остались по краям, а все остальные свалились в середина.
Кто-нибудь знает, какие уравнения я должен использовать для перемещения точек, как для «силы притяжения» между пользователями, когда они взаимодействуют, так и для «отталкивающей» силы, чтобы остановить их все в одну точку?
Изменить: В ответ на вопрос я должен указать, что я имею дело с около 1 миллиона пользователей и около 10 миллионов взаимодействий между пользователями. Если кто-то может порекомендовать инструмент, который может сделать это для меня, я все уши: -)