2009-12-24 3 views
6

Я думаю, что те, кто работал в сообществах и социальных сетях, могут иметь некоторый опыт в этом.Визуализация данных: определение отношений дружбы

Я пытаюсь построить график всех дружеских отношений, существующих на моем сайте, и при этом идентифицировать кластеры сильно взаимосвязанных пользователей.

Есть ли у кого-нибудь опыт в этом? Кроме того, есть ли в SQL Server 2008 BI инструменты, которые позволяют использовать этот тип моделирования?

Благодаря

+0

Вы хотите визуализировать данные или получить список взаимосвязанных пользователей? –

+0

Я хочу визуализировать список взаимосвязанных пользователей – super9

+0

Вы открыли щедрость ... сообщите нам, что вас не устраивает в отношении существующих решений. –

ответ

5

Programming Collective Intelligence's chapter 5 предназначен для оптимизации и сетевой визуализации. Using the modules available here and the snippet below, я мог бы сделать следующее изображение:

>>> import optimization 
>>> import socialnetwork 
>>> sol = optimization.annealingoptimize(socialnetwork.domain, socialnetwork.crosscount, step=50, cool=0.99) 
>>> socialnetwork.drawnetwork(sol) 

chart http://img189.imageshack.us/img189/5416/tmpgyrejc.png

Преимущество этого подхода заключается в том, что вы можете легко изменить функцию затрат, использовать различные алгоритмы оптимизации, или использовать другую библиотеку для просмотра решения.

4

Взгляните на neato из набора инструментов линии Graphviz команды. AS, он принимает так называемый файл .dot. Формат прямолинейный, вы должны просто иметь возможность перебирать все отношения дружбы в вашей системе и записывать их в файл.

+0

выглядит хорошо, я проверю его – super9

0

Отъезд Wikipedia -- Social Network, который рассказывает о анализе социальной сети и графических отношениях между пользователями. Я думаю, что основная идея заключается в том, что вы используете график для сопоставления всех отношений, а затем более общих отношений, чем выше взаимосвязанные отношения.

1

Вы можете взглянуть на алгоритм Girvan-Newman, выход которого дает представление о структуре сообщества в виде дендрограммы.

1

Вы должны посмотреть на SpringGraph Марка Шеферда, который является аккуратным и сексуальным способом отображения больших графиков.

2

Ваш график будет, вероятно, достаточно большой, поэтому GraphViz является плохим выбором. Это неплохая работа для крошечных графиков, но не для огромных. Я бы рекомендовал вместо этого попробовать aiSee (вот некоторые example graphs). Для этого требуется, чтобы графики были указаны в простом человеко-читаемом формате, который называется GDL.

Sample social network http://www.aisee.com/graph_of_the_month/social1.gif


Sample social network http://www.aisee.com/graph_of_the_month/pubmed5.gif


Sample social network http://www.aisee.com/graph_of_the_month/gnumap.gif

3

Для вдохновения, посмотрите на these social graphs из "Визуальная Сложность" коллекции.

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

Примеры из категории "Социальные сети":

alt text http://www.visualcomplexity.com/vc/images/594_big01.jpg

alt text http://www.visualcomplexity.com/vc/images/58_big01.jpg