Итоговый проект по дисциплине «Прикладные технологии анализа и моделирования социальных сетей» (2 курс магистратуры, МатМех СПбГУ).
Автор: Егор Глушков (МОАИС, МатМех, СПбГУ)
Лицензия: Apache-2.0
Проект посвящён исследованию социального графа сообщества DDNet (DDraceNetwork): построению сети взаимодействий между участниками и анализу её свойств. Основная цель — показать, как методы анализа социальных сетей помогают выявлять структуру сообщества, ключевых участников и характер связей.
Ключевые вопросы исследования:
- Как устроена структура сети (компоненты, кластеры/сообщества)?
- Кто является «центральными» игроками/узлами (центральности)?
- Как распределены связи и насколько сеть устойчива?
- Как выглядят визуализации сети и отдельных её подпород (эго-сети, кластеры)?
Репозиторий ориентирован на воспроизводимый анализ в Jupyter Notebook.
- Язык/среда: Python, Jupyter Notebook
- Библиотеки:
- pandas, numpy — обработка данных
- networkx — моделирование и анализ графов
- matplotlib, seaborn — визуализация
- scikit-learn (опционально) — дополнительные метрики/кластеризация
- tqdm (опционально) — прогресс-бар при длительных вычислениях
- Методы анализа:
- Базовые характеристики графа: степени, компоненты связности
- Центральности: degree, betweenness, closeness, eigenvector (по необходимости)
- Обнаружение сообществ (modularity-based и др. — при необходимости)
- Визуализация графа и подграфов
- Источник: статистика и взаимодействия сообщества DDNet (DDraceNetwork).
- Формат: табличные данные/списки рёбер (edge list) и/или агрегированные метрики.
- Подготовка: базовая предобработка, фильтрация шумовых связей (при необходимости), приведение идентификаторов к единому виду.
Примечание: структура и расположение сырых данных могут отличаться в зависимости от окружения. Если данные не включены в репозиторий (например, из-за размера), используйте инструкции в ноутбуках для загрузки/подготовки.
- Установите Python 3.10+ и Jupyter
- Создайте виртуальное окружение и активируйте его:
- Linux/macOS:
- python3 -m venv .venv
- source .venv/bin/activate
- Windows (PowerShell):
- py -m venv .venv
- .venv\Scripts\Activate.ps1
- Linux/macOS:
- Установите зависимости:
- pip install jupyter pandas numpy networkx matplotlib seaborn tqdm scikit-learn
- Запустите Jupyter:
- jupyter notebook
- Откройте соответствующий ноутбук(и) и выполните все ячейки сверху вниз.
Типичная структура (может незначительно отличаться):
- notebooks/ — основные ноутбуки с анализом и визуализациями
- data/ — данные (сырые и/или подготовленные)
- src/ — вспомогательные скрипты (загрузка, предобработка, метрики)
- reports/ — результаты, графики, экспорт метрик (если применимо)
- README.md — описание проекта
Смотрите комментарии внутри ноутбуков для деталей по шагам воспроизведения.
- Метрики сети: размер гигантского компонента, распределение степеней, центральности
- Обнаруженные сообщества и эго-сети для ключевых узлов
- Визуализации графа и подграфов
- Краткие выводы по структуре и устойчивости сети
Итоговые графики и таблицы доступны в ноутбуках и, при наличии, экспортируются в папку reports/.
Проект распространяется по лицензии Apache License 2.0. Подробности см. в файле LICENSE.
- Автор: Егор Глушков
- GitHub: https://github.com/ExP98
English summary
DDNet Social Graph is a Jupyter-based project exploring the interaction network of the DDNet (DDraceNetwork) community. It focuses on building the social graph, computing centralities, detecting communities, and visualizing network structure. The stack includes Python, networkx, pandas, numpy, matplotlib, and seaborn. Notebooks guide you through data preparation, analysis, and result reproduction. Licensed under Apache-2.0.