python图工具中基于随机块模型动态网络社团检测

Posted tecdat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python图工具中基于随机块模型动态网络社团检测相关的知识,希望对你有一定的参考价值。

原文链接:http://tecdat.cn/?p=7602

 

这是“政治博客圈和2004年美国大选”中的政治博客网络图,但是边缘束是使用随机块模型确定的(注:下图与图相同(即,布局和数据相同))。 Tiago论文中的5-我只是在上面放了一个黑色背景 。

边缘配色方案与Adamic和Glance的原始论文中的相同,即每个节点对应一个博客URL,颜色反映政治取向,红色代表保守派,蓝色代表自由派。橙色边从自由派博客到保守派博客,紫色边从保守派到自由派(参见Adamic和Glance中的图1)。

颜色方案与原始论文中的颜色方案相同,即每个节点对应一个博客URL,颜色反映政治取向,红色代表保守派,蓝色代表自由派。橙色边从自由派博客到保守派博客,紫色边从保守派到自由派(参见Adamic和Glance中的图1)。绘制了所有1,490个节点和19,090条边。

技术图片技术图片?

 

每个博客的网址都在每个节点旁边绘制,这是一个特写:

技术图片技术图片?

 

import graph_tool.all as gt
import math

g = gt.collection.data["polblogs"] #  http://www2.scedu.unibo.it/roversi/SocioNet/AdamicGlanceBlogWWW.pdf
技术图片

使颜色正确需要一些调整:

#use 1->Republican, 2->Democrat
red_blue_map = {1:(1,0,0,1),0:(0,0,1,1)}
plot_color = g.new_vertex_property(‘vector<double>‘)
g.vertex_properties[‘plot_color‘] = plot_color
for v in g.vertices():
    plot_color[v] = red_blue_map[g.vertex_properties[‘value‘][v]]
技术图片

为了使用分层边缘捆绑算法,我们首先需要进行某种聚类。一种明显的方法是根据其政治隶属关系为每个节点分配一个群集:

这些集群用于形成一个层次结构,该层次结构使人们可以轻松确定标准的树布局(如下图所示)。通过沿树内插来绘制层次边缘束。

这是上图使用的树:

技术图片技术图片?

 

最后,我们设置文本旋转并保存图形:

#labels
text_rot = g.new_vertex_property(‘double‘)
g.vertex_properties[‘text_rot‘] = text_rot
for v in g.vertices():
    if pos[v][0] >0:
        text_rot[v] = math.atan(pos[v][1]/pos[v][0])
    else:
        text_rot[v] = math.pi + math.atan(pos[v][1]/pos[v][0])

gt.graph_draw(g, pos=pos,
              vertex_size=10,
              vertex_color=g.vertex_properties[‘plot_color‘],
              vertex_fill_color=g.vertex_properties[‘plot_color‘],
              edge_control_points=cts,
              vertex_text=g.vertex_properties[‘label‘],
              vertex_text_rotation=g.vertex_properties[‘text_rot‘],
              vertex_text_position=1,
              vertex_font_size=9,
              edge_color=g.edge_properties[‘edge_color‘],
              vertex_anchor=0,
              bg_color=[0,0,0,1],
              output_size=[4024,4024],
              output=‘polblogs.png‘)

 如果您有任何疑问,请在下面发表评论。 

 

技术图片?

 

  

大数据部落 -中国专业的第三方数据服务提供商,提供定制化的一站式数据挖掘和统计分析咨询服务

统计分析和数据挖掘咨询服务:y0.cn/teradat(咨询服务请联系官网客服

技术图片?技术图片QQ:3025393450

 

技术图片?QQ交流群:186388004 技术图片

【服务场景】  

科研项目; 公司项目外包;线上线下一对一培训;数据爬虫采集;学术研究;报告撰写;市场调查。

【大数据部落】提供定制化的一站式数据挖掘和统计分析咨询

技术图片

欢迎选修我们的R语言数据分析挖掘必知必会课程!

技术图片

 

 
技术图片

以上是关于python图工具中基于随机块模型动态网络社团检测的主要内容,如果未能解决你的问题,请参考以下文章

LFR 基准与随机块模型

深度学习与图神经网络核心技术实践应用高级研修班-Day4基于深度学习的目标检测(object_detection)

基于图论和人工神经网络的供水管网漏损检测方法(上)

基于Tensorflow2.x低阶API搭建神经网络模型并训练及解决梯度爆炸与消失方法实践

基于Tensorflow2.x低阶API搭建神经网络模型并训练及解决梯度爆炸与消失方法实践

基于Tensorflow2.x低阶API搭建神经网络模型并训练及解决梯度爆炸与消失方法实践