Видео: Градосельская Г.В. - Картирование политических групп в соцсетях методом зерновой кластеризации 2024
Люди склонны формировать сообщества - кластеры других людей, у которых есть идеи и чувства. Изучая эти кластеры, приписывание определенному поведению группе в целом становится легче (хотя приписывание поведения индивидууму опасно и ненадежно).
Идея изучения кластеров заключается в том, что если существует связь между людьми, у них часто есть общий набор идей и целей. Найдя кластеры, вы можете определить эти идеи, проверив членство в группе. Например, обычно пытаются найти кластеры людей в области выявления страховых случаев и налоговой проверки. Неожиданные группы людей могут вызывать подозрения, что они являются частью группы мошенников или уклонившихся от уплаты налогов, потому что у них нет обычных причин для людей собираться в таких обстоятельствах.
Графы дружбы могут представлять, как люди соединяются друг с другом. Вершины представляют индивидов, а ребра представляют их связи, такие как семейные отношения, деловые контакты или дружеские связи. Как правило, графики дружбы ненаправлены, потому что они представляют взаимные отношения, а иногда они взвешены, чтобы представить силу связи между двумя людьми.
Во многих исследованиях основное внимание уделяется неориентированным графам, которые концентрируются исключительно на ассоциациях. Вы также можете использовать ориентированные графики, чтобы показать, что Person A знает о Person B, но Person B даже не знает, что Person A существует. В этом случае у вас на самом деле есть 16 различных видов триад.
При поиске кластеров в графике дружбы связи между узлами в этих кластерах зависят от триад - по существу, особых видов треугольников. Соединения между тремя людьми могут попадать в эти категории:
- Закрыто: Все трое знают друг друга. Подумайте о семейной обстановке в этом случае, в которой все знают всех остальных.
- Открыть: Один человек знает двух других людей, но два других человека не знают друг друга. Подумайте о человеке, который знает человека на работе и другого человека дома, но человек на работе ничего не знает о себе дома.
- Связанная пара: Один человек знает одного из других людей в триаде, но не знает третьего человека. В этой ситуации участвуют два человека, которые знают что-то друг о друге, встречают кого-то нового - того, кто потенциально хочет быть частью группы.
- Unconnected: Триада образует группу, но никто в группе не знает друг друга. Это может показаться немного странным, но подумайте о конвенции или семинаре.Люди в этих событиях образуют группу, но они могут ничего не знать друг о друге. Однако, поскольку они имеют схожие интересы, вы можете использовать кластеризацию для понимания поведения группы.
Триады встречаются естественным образом в отношениях, и многие интернет-социальные сети используют эту идею для ускорения связей между участниками. Плотность соединений важна для любой социальной сети, потому что подключенная сеть может более легко распространять информацию и обмениваться контентом. Например, когда LinkedIn, профессиональная социальная сеть, решила увеличить плотность соединения своей сети, она началась с поиска открытых триад и попыток закрыть их, предложив людям подключиться. Закрытие триад лежит в основе алгоритма LinkingIn Connection Suggestion. Вы можете узнать больше о том, как это работает, прочитав ответ Quora.
Пример здесь опирается на образец графства Захари Каратэ. Это небольшой график, который позволяет увидеть, как работают сети, не тратя много времени на загрузку большого набора данных. К счастью, этот набор данных появляется как часть пакета
networkx
. Сеть карате-клуба Захари представляет дружеские отношения между 34 членами клуба каратэ с 1970 по 1972 год. Социолог Уэйн У. Захари использовал его в качестве темы изучения. Он написал статью под названием «Модель информационного потока для конфликтов и деления в малых группах». «Интересный факт об этом графике и его статье заключается в том, что в те годы в клубе возник конфликт между одним из инструкторов по каратэ (номер узла 0) и президентом клуба (узел № 33). Сгруппировав график, вы можете почти точно предсказать раскол клуба на две группы вскоре после появления.
Поскольку этот пример также рисует график, показывающий группы (чтобы вы могли визуализировать их проще), вам также нужно использовать пакет
matplotlib
. Следующий код показывает, как отображать узлы и ребра набора данных.
import networkx as nx
import matplotlib. pyplot as plt
% matplotlib inline
graph = nx. karate_club_graph ()
пос = пх. spring_layout (график)
щ. draw (graph, pos, with_labels = True)
plt. show ()
Чтобы отобразить графическое изображение на экране, вам также необходимо предоставить макет, который определяет, как размещать узлы на экране. В этом примере используется алгоритм направленности Фрухтермана-Рейнгольда (вызов
nx. Spring_layout
). На рисунке показан результат из примера. (Ваш результат может выглядеть несколько иначе.)
Силовой алгоритм Фрухтермана-Рейнгольда для создания автоматических макетов графиков создает понятные макеты с отдельными узлами и ребрами, которые не пересекаются, имитируя то, что происходит в физике между электрически заряженными частицами или магнитами, несущими один и тот же знак. При просмотре вывода графика вы можете видеть, что некоторые узлы имеют только одно соединение, два и несколько больше двух.Края образуют триады, как упоминалось ранее. Однако наиболее важным соображением является то, что на рисунке четко показана кластеризация, которая происходит в социальной сети.