利用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来进行社团划分相关推荐

  1. 社团划分评估-标准化互信息NMI的Python实现

    标准化互信息nmi是评估社团划分质量的一项重要指标,我在网上找了很久没有找到能用的,干脆自己参照公式写了一个,如果对你有帮助,请一键三连. 首先附上论文地址 NMI的公式定义如下: 最后附上代码: # ...

  2. 【复杂网络】社团划分结果评估指标:Q、ARI、NMI

    社团划分结果评估指标:Q.ARI.NMI 一.模块度Q(Modularity) 模块度也称模块化度量值,是目前常用的一种衡量网络社区结构强度的方法,最早由Mark NewMan提出了.模块度的定义为: ...

  3. python大学生信息管理系统_基于Python的高等学校社团信息管理系统

    基于 Python 的高等学校社团信息管理系统 王金龙 孙月兴 [摘 要] 摘要 : 首先 , 本文通过对高等学校大学生社团信息化管理存在的问题进 行了阐述 , 然后简要介绍了 Python 语言的基 ...

  4. 社团划分——Fast Unfolding算法

    社团划分--Fast Unfolding算法 一.社区划分问题 1.社区以及社区划分 在社交网络中,用户相当于每一个点,用户之间通过互相的关注关系构成了整个网络的结构,在这样的网络中,有的用户之间的连 ...

  5. 基于python的校园社团管理系统的设计与实现

    摘  要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息.为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代, ...

  6. 《机器学习》西瓜书课后习题4.3——python实现基于信息熵划分的决策树算法(简单、全面)

    <机器学习>西瓜书课后习题4.3--python实现基于信息熵划分的决策树算法 <机器学习>西瓜书P93 4.3 试编程实现基于信息熵进行划分选择的决策树算法,并为表4.3中数 ...

  7. python使用什么格式划分语句块-python以什么划分语句块

    语句块是在条件为真(条件语句)时执行或者执行多次(循环语句)的一组语句: 在代码前放置空格来缩进语句即可创建语句块,语句块中的每行必须是同样的缩进量:(推荐学习:Python视频教程) 缩进:Pyth ...

  8. 计算机毕设Python+Vue学生社团管理系统(程序+LW+部署)

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  9. python高校学生社团管理系统django项目源码介绍

    高校社团是高校学生根据自身的兴趣爱好自愿组成,按照章程开展活动的学生组织.学生社团已渐渐成为校园文化生活中重要的组成部分,在我校扮演着校园活动的主力军角色. 社团为学生的活动搭造了舞台,让同学们有了更 ...

最新文章

  1. Linux之mkdir和rm命令选项
  2. 华为修改优先级命令_VOlTE指标设定(华为网管各种命令)
  3. sqlerver 字符串转整型_mssql sqlerver 脚本 计算数据表的结余数的方法分享
  4. Windows xp/Vista/Linux的内核映射以及内存置换算法
  5. 计算机常用端口号汇总
  6. position定位说明
  7. ARM64的启动过程之(五):UEFI
  8. 160329(二)、web.xml配置详解
  9. JS判断客户端是否是iOS或者Android
  10. git修改本地和远程仓库名称的解决方法
  11. 数据库在软件开发中的作用是什么?
  12. Adams隐式4阶方法解常微分方程,fortran实现
  13. 【英语:发音基础】A1.元音与辅音
  14. 世界环境日 | 始祖数字化可持续发展峰会就在6.5!
  15. 解决方案和项目的区别_(实习招聘)PwC面试官问Advisory和Consulting有什么区别,怎么答?...
  16. Hive On Spark
  17. 洛谷:P6062 [USACO05JAN]Muddy Fields G
  18. 可能是东半球最全的RxJava使用场景小结
  19. python数据分析库pandas-三、: python数据分析处理库-Pandas
  20. 用python的tkinter做游戏(五)—— 魔塔 篇

热门文章

  1. ionic 旅途-- 一起来填坑
  2. Stackops快速部署手册
  3. 分享Silverlight/WPF/Windows Phone一周学习导读(12月20日-12月26日)
  4. python 38day--CSS简介
  5. OpenStack快速入门-queens版本
  6. 每日源码分析 - Lodash(remove.js)
  7. 求1到N的全排列 (转载)
  8. RHEL 7.0已发布 CentOS 7 即将到来
  9. 遇到:ORA-27121: UNABLE TO DETERMINE SIZE OF SHAR...
  10. Jakarta Commons:巧用类和组件三(转)