Karate空手道俱乐部数据集的简单处理

1.Karate数据集简介

Karate空手道俱乐部复杂网络是常用于复杂网络社区发现研究的网络,该网络共有 34个节点和78条边,其中34个节点表示某空手道俱乐部的 34 名成员,节点之间的边表示两个成员相互认识,该数据集是一个真实的数据集,其对应于美国的一个空手道俱乐部的人物关系的研究。针对于复杂网络中的社区发现研究有着非同寻常的意义。本文用到的数据集是以.csv文件存储的2列78行的矩阵,每一行表示图中的某一条边。

2. Karate图表示

3.利用python代码简单分析并绘制图片 

# encoding:utf-8
import matplotlib.pyplot as plt
import networkx as nx
import pandas as pd

# 获取Karate俱乐部数据的邻接表,以csv文件存储
columns = [Source, Target]
data = pd.read_csv(Karate_club.csv, names=columns, header=None)

# 调用networkx画图
graph = nx.Graph()
data_len = len(data)

# 给graph中添加边,即用户关系
for i in range(data_len):
    graph.add_edge(data.iloc[i][Source], data.iloc[i][Target])

# 输出每个节点的度
print(graph.degree())

# 调用nx.draw()方法绘制图片
nx.draw(graph, with_labels=True)

# 保存图片
plt.savefig(./graph/karate_club.png)

# 展示图片
plt.show()

 4.karate数据集的应用

karate数据集作为一个真实环境下的数据集,对于研究社区发现十分重要。通过一些社区划分方法将该俱乐部进行划分,可以知道该网络有几个社团,每个社团包含的成员。这些信息对于了解整个网络的分布和内部情况具有重要意义。

经验分享 程序员 微信小程序 职场和发展