f_
frhyme.code
•python-libs•โฑ ์•ฝ 2๋ถ„ ์†Œ์š”

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์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’กRELATED ARTICLES ยท ํ•จ๊ป˜ ์ฝ์œผ๋ฉด ์ข‹์€ ์—ฐ๊ด€ ํฌ์ŠคํŠธ

๊ธ€ ์ฃผ์†Œ๊ฐ€ ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.