python来进行社团划分
利用python来进行社团划分,使用的是社团划分里面的GN算法。
程序代码如下
# -*- coding: utf-8 -*-
"""
Created on Sat Sep 14 18:01:27 2019@author: Administrator
"""import matplotlib.pyplot as plt
import networkx as nx
from networkx.algorithms import communitydef matrix_to_graph():G = nx.Graph()filestr = ""#需要读入的邻接矩阵with open("result.txt") as files:for line in files:filestr += line.strip()#将字符串转换成列表matrix = eval(filestr)nodes = range(len(matrix))G.add_nodes_from(nodes)for i in range(len(matrix)):for j in range(len(matrix)):if(matrix[i][j] == 1):G.add_edge(i, j)communities_generator = community.girvan_newman(G)next_level_communities = next(communities_generator)print(sorted(map(sorted, next_level_communities)))matrix_to_graph()
邻接矩阵如下:
[[1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,1,0,0,0,0,0,0,0,1],
[0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,1],
[0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,1],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,0,0,1]]
划分结果如下:
[[0, 1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12, 13, 14, 15], [16, 17, 18, 19, 25], [20, 21, 22], [23, 24]]
python来进行社团划分相关推荐
- 社团划分评估-标准化互信息NMI的Python实现
标准化互信息nmi是评估社团划分质量的一项重要指标,我在网上找了很久没有找到能用的,干脆自己参照公式写了一个,如果对你有帮助,请一键三连. 首先附上论文地址 NMI的公式定义如下: 最后附上代码: # ...
- 【复杂网络】社团划分结果评估指标:Q、ARI、NMI
社团划分结果评估指标:Q.ARI.NMI 一.模块度Q(Modularity) 模块度也称模块化度量值,是目前常用的一种衡量网络社区结构强度的方法,最早由Mark NewMan提出了.模块度的定义为: ...
- python大学生信息管理系统_基于Python的高等学校社团信息管理系统
基于 Python 的高等学校社团信息管理系统 王金龙 孙月兴 [摘 要] 摘要 : 首先 , 本文通过对高等学校大学生社团信息化管理存在的问题进 行了阐述 , 然后简要介绍了 Python 语言的基 ...
- 社团划分——Fast Unfolding算法
社团划分--Fast Unfolding算法 一.社区划分问题 1.社区以及社区划分 在社交网络中,用户相当于每一个点,用户之间通过互相的关注关系构成了整个网络的结构,在这样的网络中,有的用户之间的连 ...
- 基于python的校园社团管理系统的设计与实现
摘 要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息.为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代, ...
- 《机器学习》西瓜书课后习题4.3——python实现基于信息熵划分的决策树算法(简单、全面)
<机器学习>西瓜书课后习题4.3--python实现基于信息熵划分的决策树算法 <机器学习>西瓜书P93 4.3 试编程实现基于信息熵进行划分选择的决策树算法,并为表4.3中数 ...
- python使用什么格式划分语句块-python以什么划分语句块
语句块是在条件为真(条件语句)时执行或者执行多次(循环语句)的一组语句: 在代码前放置空格来缩进语句即可创建语句块,语句块中的每行必须是同样的缩进量:(推荐学习:Python视频教程) 缩进:Pyth ...
- 计算机毕设Python+Vue学生社团管理系统(程序+LW+部署)
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- python高校学生社团管理系统django项目源码介绍
高校社团是高校学生根据自身的兴趣爱好自愿组成,按照章程开展活动的学生组织.学生社团已渐渐成为校园文化生活中重要的组成部分,在我校扮演着校园活动的主力军角色. 社团为学生的活动搭造了舞台,让同学们有了更 ...
最新文章
- Linux之mkdir和rm命令选项
- 华为修改优先级命令_VOlTE指标设定(华为网管各种命令)
- sqlerver 字符串转整型_mssql sqlerver 脚本 计算数据表的结余数的方法分享
- Windows xp/Vista/Linux的内核映射以及内存置换算法
- 计算机常用端口号汇总
- position定位说明
- ARM64的启动过程之(五):UEFI
- 160329(二)、web.xml配置详解
- JS判断客户端是否是iOS或者Android
- git修改本地和远程仓库名称的解决方法
- 数据库在软件开发中的作用是什么?
- Adams隐式4阶方法解常微分方程,fortran实现
- 【英语:发音基础】A1.元音与辅音
- 世界环境日 | 始祖数字化可持续发展峰会就在6.5!
- 解决方案和项目的区别_(实习招聘)PwC面试官问Advisory和Consulting有什么区别,怎么答?...
- Hive On Spark
- 洛谷:P6062 [USACO05JAN]Muddy Fields G
- 可能是东半球最全的RxJava使用场景小结
- python数据分析库pandas-三、: python数据分析处理库-Pandas
- 用python的tkinter做游戏(五)—— 魔塔 篇
热门文章
- ionic 旅途-- 一起来填坑
- Stackops快速部署手册
- 分享Silverlight/WPF/Windows Phone一周学习导读(12月20日-12月26日)
- python 38day--CSS简介
- OpenStack快速入门-queens版本
- 每日源码分析 - Lodash(remove.js)
- 求1到N的全排列 (转载)
- RHEL 7.0已发布 CentOS 7 即将到来
- 遇到:ORA-27121: UNABLE TO DETERMINE SIZE OF SHAR...
- Jakarta Commons:巧用类和组件三(转)