使用networkx来实现社区发现

本文介绍了如何利用networkx库进行社区发现,包括标签传播、异步流体社区算法和GN算法。首先,通过构建networkx矩阵和绘制图来分析数据,接着详细解释了半同步标签传播方法以及异步流体社区算法的原理和步骤。最后,概述了GN算法的基本流程,该算法基于边介数来不断优化社区结构。
摘要由CSDN通过智能技术生成
# 导入相关包
import pandas as pd
import numpy as np
import networkx as nx
import matplotlib.pyplot as plt
from random import randint
import itertools

读取数据集 && 构建networkx矩阵

facebook = pd.read_csv("./out.ego-facebook" , sep=' ', names=['start_node', 'end_node'])
G = nx.from_pandas_edgelist(facebook, 'start_node', 'end_node')

绘制ego-facebook的图像

fig, ax = plt.subplots(figsize=(15, 9))
ax.axis('off')
plot_options = {
   "node_size": 10, "with_labels": False, "width": 0.15}
nx.draw_networkx(G, pos=nx.random_layout(G), ax=ax, **plot_options)
plt.show()

在这里插入图片描述

# 暂时无法使用,scipy >= 1.8 才可以使用此函数
pos = nx.spring_layout(G, iterations=15, seed=1721)
fig, ax = plt.subplots(figsize=
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值