У меня есть приложение, в котором пользователи взаимодействуют друг с другом. Я хочу визуализировать эти взаимодействия, чтобы я мог определить, существуют ли кластеры пользователей (в которых взаимодействие происходит чаще).Как визуализировать кластеры пользователей?
Я назначил двумерную точку каждому пользователю (где каждая координата находится между 0 и 1). Моя идея состоит в том, что точки двух пользователей сближаются друг с другом, когда они взаимодействуют, «привлекательная сила», и я просто повторно просматриваю свои журналы взаимодействия снова и снова.
Конечно, мне нужна «сила отталкивания», которая также будет толкать пользователей, иначе они все просто рухнут в одну точку.
Сначала я попытался контролировать самую низкую и самую высокую из всех координат XY и нормализовать их позиции, но это не сработало, несколько пользователей с небольшим количеством взаимодействий остались на краях, а остальные все рухнули в середину.
Кто-нибудь знает, какие уравнения я должен использовать для перемещения точек, как для «привлекательной» силы между пользователями, когда они взаимодействуют, так и от «отталкивающей» силы, чтобы остановить их всех, рухнувших в одну точку?
Редактировать: В ответ на вопрос я должен указать, что имею дело с 1 миллионом пользователей и около 10 миллионов взаимодействий между пользователями. Если кто-то может порекомендовать инструмент, который мог бы сделать это для меня, я все уши :-)
Я дал ответ, но я также хочу спросить: есть ли причина не строить граф взвешенного взаимодействия и запускать его через рендеринг модели весны graphviz или просто запустить алгоритм кластеризации данных? Есть способы скопления других, кроме пристального внимания ... – 2008-09-18 15:56:09