Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчет бд 3 сем.docx
Скачиваний:
0
Добавлен:
11.02.2026
Размер:
3.66 Mб
Скачать

Лабораторная работа №6 программирование лувенского алгоритма

Целью лабораторной работы является освоение:

  • приемов анализа социальных сетей;

  • метрик и показателей социальных сетей;

  • Лувенского алгоритма для анализа социальных сетей;

  • модулярности;

  • нахождения мостов в социальных сетях,

  • формирования данных для имитации социальных сетей.

Задание на выполнение и ход лабораторной работы:

Разработать программу на алгоритмическом языке Python, которая должна выполнить следующее:

        1. в соответствии с выданным вариантом была «создана сеть», связанная со случайно сгенерированным распределением степеней.

Таблица графа в Excel:

        1. идентифицировать сообщества в этой сети с использованием Лувенского алгоритма.

        2. Визуализировать сообщества.

Листинг:

import pandas as pd import networkx as nx import matplotlib.pyplot as plt import numpy as np import community as cm ex = pd.read_excel("lab6.xlsx") graph = nx.Graph() for i in range(1,len(ex)): graph.add_node(i) for j in range(1,len(ex[i])): if ex[i][j] == 1: graph.add_edge(i,j) nx.draw(graph, pos=nx.spring_layout(graph), with_labels=True) plt.show() lv = cm.community_louvain.best_partition(graph) unique_coms = np.unique(list(lv.values())) colors = { 0: 'pink', 1: 'red', 2: 'purple', 3: 'maroon' } node_colors = [colors[v] for _,v in lv.items()] pos = nx.spring_layout(graph) nx.draw(graph, pos, node_size = 200, alpha = 1, node_color=node_colors) plt.show()

Вывод:

Изначальный граф:

Граф после применения Лувенского метода:

Соседние файлы в предмете Большие данные