相关疑难解决方法(0)

在图中是否有用于社区检测的算法实现?

我正在寻找社区检测算法的实现,例如Girvan-Newman算法(2002).我访问了该领域的几位研究人员的网站(Newman,Santo等)但无法找到任何代码.我想有人在那里发布了这些算法的实现(甚至可能是一个工具包?),但我似乎无法找到它.

graph-theory graph

24
推荐指数
3
解决办法
2万
查看次数

社区检测算法中权重的含义

还有就是在现有的igraph社区检测算法的比较优秀这里.然而,在算法中使用加权边缘可以应用权重存在一些模糊性.

通常,边缘权重将被定向,使得较高权重建议将节点保持在一起(例如,友谊的强度).通过比较内部和外部的平均加权密度,这与模块化分数很好地协作.

然而,Newman-Girvan社区检测算法使用基于距离的中间性.在这种情况下,我希望边权重应该反映节点之间的距离,以便计算最短路径对路径上的权重求和.也就是说,权重是成本或距离得分,其中较高的值应该分成不同的社区.

在使用Newman-Girvan时,我是否正确期望更高的权重,如果是这样,那么如何通过使用模块化来决定在哪里削减社区数量?

social-networking igraph

9
推荐指数
1
解决办法
824
查看次数

R:K 均值聚类与社区检测算法(加权相关网络)- 我是否将这个问题过于复杂?

我有如下所示的数据:https : //imgur.com/a/1hOsFpF

第一个数据集是标准格式数据集,其中包含人员及其财务属性的列表。

第二个数据集包含这些人之间的“关系”——他们互相支付了多少,以及他们彼此欠了多少。

我有兴趣了解更多关于网络和基于图的聚类 - 但我试图更好地了解什么类型的情况需要基于网络的聚类,即我不想在不需要的地方使用图聚类(避免“方钉圆孔"类型情况)。

使用 R,首先我创建了一些假数据:

library(corrr)
 library(dplyr) 
library(igraph) 
library(visNetwork)
 library(stats)

# create first data set

Personal_Information <- data.frame(

"name" = c("John", "Jack", "Jason", "Jim", "Julian", "Jack", "Jake", "Joseph"),

"age" = c("41","33","24","66","21","66","29", "50"),

"salary" = c("50000","20000","18000","66000","77000","0","55000","40000"),

"debt" = c("10000","5000","4000","0","20000","5000","0","1000"

)


Personal_Information$age = as.numeric(Personal_Information$age)
Personal_Information$salary = as.numeric(Personal_Information$salary)
Personal_Information$debt = as.numeric(Personal_Information$debt)
create second data set
Relationship_Information <-data.frame(

"name_a" = c("John","John","John","Jack","Jack","Jack","Jason","Jason","Jim","Jim","Jim","Julian","Jake","Joseph","Joseph"),
"name_b" = c("Jack", "Jason", "Joseph", "John", "Julian","Jim","Jim", "Joseph", "Jack", "Julian", "John", "Joseph", "John", "Jim", "John"),
"how_much_they_owe_each_other" = …
Run Code Online (Sandbox Code Playgroud)

r graph cluster-analysis edges nodes

5
推荐指数
1
解决办法
516
查看次数