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

在网络上进行社区检测时,有时我们不仅拥有实体之间的联系。这些实体代表了我们可能也想在网络可视化中代表的现实事物。

plot(g)

a6ea2e900138ddebbfc6fcc0079ed6c5.png

我使用数据集,代表了观察到的 18 位女性参加 14 场社交活动的情况。


点击标题查阅往期内容

112ac9ca290cab2cd657f99ba3a65cf2.jpeg

R语言复杂网络分析:聚类(社区检测)和可视化

outside_default.png

左右滑动查看更多

outside_default.png

01

ec8cfa5730b0a0a2c0f281ae02a20172.png

02

bd2e43cf086906956bdfc6066f9d6af0.png

03

6af6eee089df4e4d83cb1e7fdd23b49d.png

04

cc209abadda28af916b399146d66de6a.png

不考虑这个图是二向图,让我们尝试将图划分为社区。有自然的分界线吗?让我们根据节点所属的社区为节点着色:

community(g)
col <- membership + 1
plot

3eccd1728b01319a07fe449dda210de0.png

正如我们所看到的,该算法找到了2个社区,乍一看,这种划分似乎是合理的。无论如何,还有一种自然的划分是算法无法找到的:事件/女性的二元关系。每个节点都有这样的属性:"是女性 "或 "是事件"。让我们用不同的方式来描述这个图的特征。我们有14个事件。对于这些,我们改变它们的形状。

shape <- "squa"
shape <- "cice"
plot(g)

eb4271cb885d07063d3a2b2db4a36256.png

如何从给定的网络中提取社区?

在网络中寻找社区是复杂系统范式下的一项常见任务。有几种方法可以使用非常不同的包对图进行社区分区。

网络社区检测算法

walktrap.community

该算法通过执行随机游走找到密集连接的子图。这个想法是随机游走将倾向于留在社区内,而不是跳到其他社区。

边缘.中间.社区

这个算法就是Girvan-Newman算法。它是一种分割算法,在每一步中,具有最高间性的边被从图中移除。对于每一次划分,你都可以计算出图的模块化程度。最后,在这个过程给你带来最高模块化值的地方选择切割树状图。

Newman快速算法(fast greedy)")

该算法是纽曼算法。在这种情况下,算法是凝聚的。在每一步,两组合并。合并是通过优化模块化决定的。这是一种快速算法,但有一个贪婪算法的缺点。因此,虽然我发现它有用且准确,但它可能不会产生最佳的整体社区划分。

自旋玻璃社群发现

该算法使用自旋玻璃模型和模拟退火来查找网络内的社区。

# 首先我们加载ipgrah软件包

 
# 让我们生成两个网络并将其合并为一个图。
graph.union
 
# 让我们删除多线和循环
simplify
 
# 让我们用Grivan-Newman算法看看这里是否有社区。
# Grivan-Newman算法
# 首先,我们计算边缘间性、合并等。
edge.betweenness.community
 
# 现在我们有了合并/拆分,我们需要计算模块化。
# 对于每个合并,我们将使用一个函数,对于每个边被删除,将创建第二个图,检查其成员资格并使用该成员资格来计算模块化程度
membership
# -在原图g上计算模块化 
  modularit
 
# 我们现在可以绘制所有模块化的图
plot
 
# 现在,让我们根据节点的成员资格为其着色
removed.edges
color=membership
 
# 让我们为图选择一个布局
layout
 
# 绘制
plot
 
# 使用 fastgreedy.community 算法

plot

e46e19eb79cf2677cdb7f15b62ad6113.png



fa5178e76414dc0e52e423bde7c792f8.png

本文摘选R语言网络社区检测(社群发现)分析女性参加社交活动和社区节点着色可视化,点击“阅读原文”获取全文完整资料。


点击标题查阅往期内容

用航空公司复杂网络对疫情进行建模

R语言社区发现算法检测心理学复杂网络:spinglass、探索性图分析walktrap算法与可视化

R语言复杂网络分析:聚类(社区检测)和可视化

使用Python和SAS Viya分析社交网络

R语言用igraph绘制网络图可视化

在R语言中使用航空公司复杂网络对疫情进行建模

R语言用相关网络图可视化分析汽车配置和饮酒习惯

R语言公交地铁路线进出站数据挖掘网络图可视化

python对网络图networkx进行社区检测和彩色绘图

R语言推特twitter网络转发可视化分析

R语言复杂网络分析:聚类(社区检测)和可视化

R语言混合图形模型MGM的网络可预测性分析

R语言使用自组织映射神经网络(SOM)进行客户细分

R语言网络分析友谊悖论案例

R语言网络和网络流的可视化实践:通勤者流动网络

R语言最大流最小割定理和最短路径算法分析交通网络流量拥堵问题

R语言公交地铁路线网络图实现数据挖掘实战

R软件SIR模型网络结构扩散过程模拟

通过SAS网络分析对人口迁移进行可视化分析

python隶属关系图模型:基于模型的网络中密集重叠社区检测方法

使用Python和SAS Viya分析社交网络

用R语言和python进行社交网络中的社区检测

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

在R语言中使用航空公司复杂网络对疫情进行建模

采用SPSS Modeler的Web复杂网络对所有腧穴进行分析

欲获取全文文件,请点击左下角“阅读原文”。

01a9852a58a22f771584fe1bd5de09ee.gif

84841867d671dff657f0e1580fafe96f.png

1962b36f51ea162b4e9544991527d006.jpeg

0d44ac14cd1a0e202213582c689db443.png

欲获取全文文件,请点击左下角“阅读原文”。

e2c1555e096e76b801eaeecf8dd988e3.gif

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐