NetworkX: group betweenness centrality
๐ ๋ชฉ์ฐจ (Contents)
centrality - group betweenness centrality
- node betweenness centrality๋ โ๊ทธ๋ํ์ ๋ชจ๋ node pair ๊ฐ์ shortest path ์ค์์ node
N์ ์ง๋๋ ์ต๋จ๊ฑฐ๋ฆฌ์ ๋น์จโ์ ๋งํ์ฃ . - ๊ทธ๋ ์๋ฉด, ๊ฐ์ ์๋ฏธ๋ก group betweenness centrality๋ โ๊ทธ๋ํ์ ๋ชจ๋ node pair ๊ฐ์ shortest path ์ค์์ node group์ ์ง๋๋ ์ต๋จ๊ฑฐ๋ฆฌ์ ๋น์จโ์ ๋งํฉ๋๋ค. ์ฌ๊ธฐ์ node group์ ๊ทธ๋ฅ ๋ ธ๋์ ์งํฉ์ ๋งํ๋ ๊ฒ์ด์ฃ . ๋ง์ฝ, node group์ ๋จ 1๊ฐ์ node๋ง ์กด์ฌํ๋ค๋ฉด, ๊ทธ๋ฅ โnode betweenness centralityโ์ ์ฐจ์ด๊ฐ ์์ฃ .
- ๊ฐ๋จํ ๋ค์์ฒ๋ผ ๊ณ์ฐํ ์ ์์ต๋๋ค.
import numpy as np
import networkx as nx
import time
# Graph generation
N = 10 # node size
p = 0.5
G = nx.fast_gnp_random_graph(N, p, seed=0)
"""
group betweenness centrality:
- group์ node A, B, C๊ฐ ์ํ๋ค๊ณ ํ ๊ฒฝ์ฐ,
- A, B, C๋ฅผ ํ๋์ Node๋ก ์๊ฐํ๊ณ ,
- ์ต๋จ ๊ฑฐ๋ฆฌ๊ฐ A, B, C๋ฅผ ์ง๋๋ ๊ฒฝ์ฐ๋ฅผ ๋ชจ๋ ํฉํ์ฌ, betweenness centrality๋ฅผ ๊ณ์ฐํด์ฃผ๋ฉด ๋๋ค.
- ๋ฐ๋ผ์, ํ๋์ node๋ง ๋๊ธธ ๊ฒฝ์ฐ์๋ ๊ทธ๋ฅ betweennss centrality์ ์ฐจ์ด๊ฐ ์๋ค.
"""
node_group = [1, 2, 8]
print(f"Betweenness centrality of Node Group {node_group}")
print(f"{nx.group_betweenness_centrality(G, C=node_group)}")
Betweenness centrality of Node Group [1, 2, 8]
0.023809523809523808
wrap-up
- ์ฌ๊ธฐ์๋ node group์ ๋ํ betweenness centrality๋ง ๊ณ์ฐํ์ผ๋, closeness centrality, degree centrality๋ฑ์ ๋ํด์๋, group์ผ๋ก ์ฒ๋ฆฌํ ์๋ ์์ต๋๋ค.
GitHub์์ ์ด ๊ธ์ ๋งํฌ๋ค์ด ์๋ณธ ๋ณด๊ธฐ & ์์ ์ ์src/content/posts/2020-02-04-group_bet_centrality
๐ ์ฐ๊ด ์ง์ ํ๋ธ:๐ python-libs ์นดํ
๊ณ ๋ฆฌ๐ธ NetworkX ์ปค๋ฆฌํ๋ผ#python#python-libs#networkx