基于python3的社区发现模块度计算
这是我第一次写博客!很开心和大家分享东西!最近在学习社区发现,其中模块度是衡量社区发现的一个重要指标,而且基于模块度进行社团挖掘的论文也很多,以前看了博客中的一位博主介绍的模块度,感觉非常好,不过这个博主采用的是matlab进行实现的,最近疫情严重,在家无聊,写了一个基于python3版本实现原理。在这里分享一下源码,供大家使用!其中模块度原理参考模块度原理
import numpy as npdef node_degree(node,array):#计算节点的度数degree =sum(array[node])return degreedef A(i,j,array):#判断两个节点是否存在边if array[i,j]==0:return 0else:return 1def k(i,j,array):#计算两个节点的度数积kij = node_degree(i,array) *node_degree(j,array)return kijdef judge_cluster(i,j,l):#判断两个节点是否在一个社区if l[i] == l[j]:return 1else:return 0def Q(array,cluster):q =0m =sum(sum(array))/2#总边数for i in range(array.shape[0]):for j in range(array.shape[0]):if judge_cluster(i,j,cluster) != 0:q +=(A(i,j,array) - (k(i,j,array)/(2*m))) *judge_cluster(i,j,cluster)q = q/(2*m)return q
if __name__ == '__main__':array = np.array([[0, 1, 1],[1, 0, 0],[1, 0, 0]])cluster = [2, 1, 2]print(Q(array, cluster))
基于python3的社区发现模块度计算相关推荐
- Python计算树模型(随机森林、xgboost等)的特征重要度及其波动程度:基于熵减的特征重要度计算及可视化、基于特征排列的特征重要性(feature permutation)计算及可视化
Python计算树模型(随机森林.xgboost等)的特征重要度及其波动程度:基于熵减的特征重要度计算及可视化.基于特征排列的特征重要性(feature permutation)计算及可视化 目录
- 模块度计算python代码_转:模块度(Modularity)与Fast Newman算法讲解与代码实现
一.背景介绍 Modularity(模块度), 这个概念是2003年一个叫Newman的人提出的.这个人先后发表了很多关于社区划分的论文,包括2002年发表的著名的Girvan-Newman(G-N) ...
- 图神经网络应用——基于深度学习的图相似度计算(以SIMGNN为例的保姆级讲解)
为啥想写这篇文章呢..因为之前提到的图神经网络应用篇鸽了一年多了,把自己的研究方向做一个总结,并向其他同样研究方向的朋友做一个报告,如有错误,敬请指出.而且,这个研究方向人太少了,万望能借此引起更多人 ...
- 模块度计算python代码_LPA算法C++实现及模块度计算
前言 这学期开始看社团检测的东西,了解了一些经典算法.比如GN算法,BGLL算法(又叫Louvain, 因为该算法是作者在Louvain大学时提出的),LPA算法,等等. 我先看的LPA(毕竟算法思想 ...
- karate-club空手道成员俱乐部社区模块度计算和节点着色
import networkx as nx import numpy as np import matplotlib.pyplot as plt #获取空手道俱乐部成员数据 def getKarate ...
- 【机器学习】聚类算法、社区发现
目录 前言 聚类和社区发现 社区发现 聚类算法 聚类-评估指标 社区发现-模块度 前言 最近方向是团案挖掘,关于聚类算法和社区发现,其实之前不怎么了解,最近得补补了. 聚类和社区发现 首先要先明白这两 ...
- 深度学习助力网络科学:基于深度学习的社区发现最新综述
来源:AMiner科技 论文题目: A Comprehensive Survey on Community Detection with Deep Learning 论文网址: https://arx ...
- 【NLP实战】基于ALBERT的文本相似度计算
实战是学习一门技术最好的方式,也是深入了解一门技术唯一的方式.因此,NLP专栏推出了实战专栏,让有兴趣的同学在看文章之余也可以自己动手试一试. ALBERT是一个比BERT要轻量,效果更好的模型,本篇 ...
- 【深度学习】最新「深度学习社区发现」综述论文,174篇文献概述六大类方法(含Github资源)...
| 作者:Xing Su | 单位:麦考瑞大学 | 研究方向:人工智能与数据科学 社区发现能够揭示各类网络中成员的特征与联系,在网络分析中具有重要意义.近年来,深度学习技术在发现社区结构时,以处理高维 ...
最新文章
- 正则表达式语法规则收集
- vector机器人 CAN I USE MULTIPLE VECTORS OR DEVICES? 我可以使用多个向量或设备吗?
- python条件表达式有哪几个_python条件表达式:多项分支,双向分支
- 一张表按分类查询:只显示前2行
- 【错误记录】集成 Tinker 热修复报错 ( No such property: variantConfiguration for class: .ApplicationVariantData )
- 分析数据时,一定要避开这5大误区!
- 回退n帧协议c语言代码,[计算机网络]Ch.3 数据链路层
- mysql jpa总分数_JPA 查询COUNT示例
- Java访问静态常量_Java如何在Spring EL中访问静态方法或常量?
- java拼三级魔方_魔方秘籍(详细解法)《三阶》
- .NET的委托和匿名函数应用一例
- codewars--js--Happy numbers++无穷大判断
- js类型判断(数字、0、、undefined、null)
- 计算机职业核心素养,计算机专业人才核心素养研究-计算机专业论文-计算机论文(10页)-原创力文档...
- SCI常用词语及技巧 - 易智编译EaseEditing
- 如何建立英文字符的哈希表
- 【问题记录】ABP框架模板页面样式加载不完全
- 张量学习(1):张量的基本概念
- 威洛特:狗狗乱咬东西都是有原因的
- iOS CoreAnimation专题——实战篇(四)基于拖动手势的视图3D旋转效果