2016-08-22 2 views
0

iGraph, A 및 G에서 생성 된 두 개의 관련 그래프가 있습니다. infomap 또는 label_propagation 메서드를 사용하여 G의 구조에서 커뮤니티를 찾습니다 (두 가지가 가중치있는 방향을 허용하기 때문입니다). 모래밭). 이것으로부터 G 그래프에 대한이 커뮤니티의 모듈성을 볼 수 있습니다. 그러나 이것이 A 그래프를 위해 어떤 모듈성을 제공하는지 알아야합니다. 어떻게해야합니까?두 그래프에서 겹치는 모듈성 찾기 - 파이썬의 iGraph

+0

"관련"이란 무엇을 의미합니까? 동일한 노드이지만 다른 링크가 있습니까? –

+0

예. 두 그래프는 동일한 꼭지점을가집니다. 그러나 그 중 하나는 "동맹"그래프입니다. 링크는 상호 지원을 의미하고, 하나는 링크가 공격을 의미하는 "적"그래프입니다. 동맹 그래프 (G)를 사용하여 커뮤니티 구조를 얻은 다음 부정적인 모듈성이 있는지 확인하여 적 그래프 (A)와 상관 관계가 있는지 (반대로 상관 관계가 있는지) 확인하고 싶습니다. –

+0

내 답변 외에도 : * 상관 관계 클러스터링 * (https://en.wikipedia.org/wiki/Correlation_clustering), 서명 된 그래프의 커뮤니티 검색과 다소 동등한 문제에 관심이있을 수 있습니다. 대부분의 긍정적 인 링크가 부품 내부에 있고 가장 부정적인 부품이 부품 사이에 있도록 파티션을 찾는 것입니다. –

답변

2

modularity 기능을 사용해 보셨습니까?

im <- infomap.community(graph=G) 
qG <- modularity(im) 
memb <- membership(im) 
qA <- modularity(x=A, membership=memb, weights=E(A)$weight) 
cat("qG=",qG," vs. qA=",qA,"\n",sep="") 

참고 : igraph v0.7을 사용하여 테스트했지만 지금은 최신 버전이 없습니다. 매개 변수/함수 이름은 약간 다를 수 있습니다.

-1

그래서 알아 냈습니다. 당신이해야 할 일은 미리 정의되거나 커뮤니티 탐지를 위해 제공되는 방법 중 하나 (infomap 또는 label_propagation과 같은)를 사용하여 커뮤니티 구조를 찾는 것입니다. 이것은 정점 클러스터링을 제공합니다.이 그래프를 사용하여 다른 그래프에 배치하고 .q를 사용하여 모듈성을 찾습니다.

+1

나중에이 사람들에게 도움이되는 코드를 보여 드리겠습니다. – thepriebe

관련 문제