Potato
์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์žก๋‹ˆ๋‹ค?๐Ÿฅ” ^___^ ๐Ÿ˜บ github ๋ฐ”๋กœ๊ฐ€๊ธฐ ๐Ÿ‘‰๐Ÿป

AI study/potato's PJT (in dongguk)

[Data Science] ๋ฏธ์‹์ถ•๊ตฌ ๊ฒฝ๊ธฐ ๋„คํŠธ์›Œํฌ ๋ถ„์„ ๋ฐ ๋งํฌ ์˜ˆ์ธก

๊ฐ์ž ๐Ÿฅ” 2021. 4. 29. 00:54
๋ฐ˜์‘ํ˜•

1. ํ”„๋กœ์ ํŠธ ์ฃผ์ œ ์„ ์ •

1.1 ์ฃผ์ œ ์„ ์ • ์ด์œ 

์„ ์ •ํ•œ ๋ฐ์ดํ„ฐ๋Š” ‘football’ ๋ฐ์ดํ„ฐ์…‹์œผ๋กœ, ๋Œ€ํ•™ ๋‚ด์˜ ๋ฏธ์‹์ถ•๊ตฌ ํŒ€๋“ค์˜ ๊ฒฝ๊ธฐ์— ๋Œ€ํ•œ ๋„คํŠธ์›Œํฌ๋ฅผ ๋‚ธ ๋ฐ์ดํ„ฐ์…‹์ด๋‹ค. ๋น…๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•œ ๋„คํŠธ์›Œํฌ ๋ถ„์„ ๋ฐ ๋งํฌ์˜ˆ์ธก์€ ์Šคํฌ์ธ  ์‚ฐ์—…์—์„œ๋„ ์ข…์ข… ์“ฐ์ด๊ณ  ์žˆ๋‹ค. ์•ผ๊ตฌ์ฒ˜๋Ÿผ ์ •ํ™•ํ•œ ํƒ€์œจ์ด ๊ณ„์‚ฐ๋˜์ง€ ์•Š๋Š” ๋ฏธ์‹์ถ•๊ตฌ์™€ ๊ฐ™์€ ์Šคํฌ์ธ ์—์„œ๋Š” ํŠนํžˆ ๋„คํŠธ์›Œํฌ ๋ถ„์„ ๋ฐ ๋งํฌ์˜ˆ์ธก์ด ์ค‘์š”ํ•˜๊ฒŒ ๋– ์˜ค๋ฅด๊ณ  ์žˆ๋‹ค. ์ƒ๋Œ€ํŒ€๊ณผ์˜ ๊ด€๊ณ„๋ฅผ ๋ถ„์„์„ ํ†ตํ•ด ์„ ์ˆ˜๋“ค์˜ ๋Šฅ๋ ฅ์„ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋ฉฐ, ๋„คํŠธ์›Œํฌ ๋ถ„์„์„ ํ†ตํ•ด ์ŠนํŒจ ์—ฌ๋ถ€๋ฅผ ๋ณด๋‹ค ์‰ฝ๊ฒŒ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ๊ทธ ์„ ์ˆ˜์˜ ๋Šฅ๋ ฅ์„ ํ‰๊ฐ€ํ•˜์—ฌ ์ด์ ๋ฃŒ๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ , ๊ทธ ํŒ€์˜ ๊ฐ€์น˜๋ฅผ ๊ฒฐ์ •ํ•ด์•ผํ•˜๋Š” ๋ฏธ์‹์ถ•๊ตฌ์—์„œ๋Š” ํŠนํžˆ ๋„คํŠธ์›Œํฌ ๋ถ„์„์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์‹ค์ œ๋กœ ์ˆ˜์—… ๋‚ด ์ง„ํ–‰ํ–ˆ๋˜ ๋„คํŠธ์›Œํฌ ๋ถ„์„์„ ํ†ตํ•ด ๋ฏธ์‹์ถ•๊ตฌ ํŒ€๋“ค์˜ ๋„คํŠธ์›Œํฌ ๋ถ„์„์„ ์ง„ํ–‰ํ•ด ๋ณด๊ณ  ์‹ถ์—ˆ๊ณ , ๋” ๋‚˜์•„๊ฐ€ ๋งํฌ ์˜ˆ์ธก๊นŒ์ง€ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ฐ ํ•ด๋‹น ์˜ˆ์ธก ๊ฒฐ๊ณผ๊ฐ€ ์˜๋ฏธํ•˜๋Š” ๋ฐ”๋Š” ๋ฌด์—‡์ผ์ง€ ํƒ๊ตฌํ•ด ๋ณด๊ธฐ ์œ„ํ•˜์—ฌ ํ•ด๋‹น ์ž๋ฃŒ๋ฅผ ๋ถ„์„ ๋ฐ์ดํ„ฐ์…‹์œผ๋กœ ๊ฒฐ์ •ํ•˜์˜€๋‹ค.

 

2. ๋„คํŠธ์›Œํฌ ๋ถ„์„

R์—์„œ ‘igraph’, ‘statnet’ ํŒจํ‚ค์ง€๋ฅผ ์ด์šฉํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ๋ถ„์„์„ ์ง„ํ–‰ํ•˜์˜€๋‹ค.

๋ณธ ๊ฒŒ์‹œ๊ธ€์˜ ๋„คํŠธ์›Œํฌ ๋ถ„์„ ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘, ๋ฐ์ดํ„ฐ ๊ตฌ์„ฑ์„ ์„ค๋ช…ํ•œ ๋’ค, ๋„คํŠธ์›Œํฌ๋ฅผ ์‹œ๊ฐํ™” ํ•œ๋‹ค. ์ดํ›„ ๋„คํŠธ์›Œํฌ์˜ degree๋ฅผ ํ™•์ธํ•˜๊ณ , ๋„คํŠธ์›Œํฌ์˜ Closeness Centrality (๊ทผ์ ‘ ์ค‘์‹ฌ์„ฑ)์™€ Betweenness Centrality (๋งค๊ฐœ ์ค‘์‹ฌ์„ฑ)์„ ๊ณ„์‚ฐํ•œ๋‹ค. ์ตœ์ข…์ ์œผ๋กœ ๋„คํŠธ์›Œํฌ ์ƒ์˜ Clique์™€ Cluster๋ฅผ ํ™•์ธํ•˜๊ณ  ๋งํฌ๋ฅผ ์˜ˆ์ธกํ•  ๊ฒƒ์ด๋‹ค.

 

2.1 ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘

http://www-personal.umich.edu/~mejn/netdata/ ์—์„œ ์ˆ˜์ง‘ํ•œ gmlํ˜•์‹์˜ ‘football’ ๋ฐ์ดํ„ฐ์…‹์„ ์ด์šฉํ•˜์—ฌ ๋ถ„์„์„ ์ง„ํ–‰ํ•˜์˜€๋‹ค.

 

2.2 ๋ฐ์ดํ„ฐ ๊ตฌ์„ฑ

๋ฐ์ดํ„ฐ๋Š” Undirected Graph๋กœ 115๊ฐœ์˜ node ์™€, 613๊ฐœ์˜ Edges ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

 

2.3 ๋„คํŠธ์›Œํฌ ์‹œ๊ฐํ™”

football ํŒ€๋ณ„๋กœ์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ทธ๋ž˜ํ”„๋กœ ํ‘œํ˜„ํ•˜์˜€๋‹ค. R plot์„ ์ด์šฉํ•œ ์‹œ๊ฐํ™” ๊ทธ๋ฆผ์€ [๊ทธ๋ฆผ 1]๋กœ, Gephi๋ฅผ ์ด์šฉํ•˜์—ฌ ์‹œ๊ฐํ™” ํ•œ ๊ทธ๋ฆผ์€ [๊ทธ๋ฆผ 2]๋กœ ๋‚˜ํƒ€๋ƒˆ๋‹ค.

#ํ•„์š”ํ•œ ํŒจํ‚ค์ง€ ๋‹ค์šด ๋ฐ ์‹คํ–‰
install.packages("igraph")
install.packages("statnet")
library(igraph)
library(statnet.common)

#๋ฐ์ดํ„ฐ ์ฝ๊ธฐ ์„ ํƒ์ง€ 3_ํ™•์žฅ์ž๊ฐ€ gml
g <- read.graph("C:\\Users\\my\\Desktop\\network_data\\football.gml")
plot(g, vertex.label.cex=1)

g plot ์‚ดํŽด๋ณธ ๊ฒฐ๊ณผ

[๊ทธ๋ฆผ 1] R plot                                                        [๊ทธ๋ฆผ 2] Gephi

 

2.4 ๋„คํŠธ์›Œํฌ ์ค‘์‹ฌ์„ฑ ๋ถ„์„

2.4.1 Degree ๊ณ„์‚ฐ ๋ฐ ๋„คํŠธ์›Œํฌ ๊ทธ๋ž˜ํ”„ ์ž‘์„ฑ

๋„คํŠธ์›Œํฌ์˜ degree 10๊ฐœ๋ฅผ [๊ทธ๋ฆผ 3]์œผ๋กœ ๋‚˜ํƒ€๋ƒˆ๋‹ค. ๋„คํŠธ์›Œํฌ ์•ˆ์—์„œ ๊ด€๊ณ„์˜ ์ •๋„๊ฐ€ ๋†’์„์ˆ˜๋ก degree๊ฐ’์ด ์ปค์ง€๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ์ง๊ด€์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ๋…ธ๋“œ์˜ ํฌ๊ธฐ๋ฅผ ๋ณ€ํ™”์‹œ์ผฐ๋‹ค. ์ด๋ฅผ R๊ณผ Gephi ๋‘๊ฐœ์˜ tool์„ ์ด์šฉํ•˜์—ฌ ๋‚˜ํƒ€๋‚ด์–ด ๋ณด์•˜๋‹ค. ๊ฐ๊ฐ [๊ทธ๋ฆผ 4]์™€ [๊ทธ๋ฆผ 5]๋ฅผ ํ†ตํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

# ๋…ธ๋“œ ์—ฐ๊ฒฐ ์ˆ˜(Degree)
degree<-igraph::degree(g,mode="out")
plot(g)
degree_vcount<-vcount(g)
degree_centralization<-centralization.degree(g)
V(g)$size<-igraph::degree(g)*10 ## ๋…ธ๋“œ ํฌ๊ธฐ ํ‚ค์šฐ๊ธฐ
plot(g, vertex.label.cex=1)
degree

 

[๊ทธ๋ฆผ 3] ๊ฐ label๋ณ„ ๊ณ„์‚ฐ๋œ Degree ๊ฐ’
[๊ทธ๋ฆผ 4] R๋กœ ๋‚˜ํƒ€๋‚ธ Degree๊ฐ’์— ๋”ฐ๋ฅธ ๋„คํŠธ์›Œํฌ ๊ทธ๋ž˜ํ”„
[๊ทธ๋ฆผ 5] Gephi๋กœ ๋‚˜ํƒ€๋‚ธ Degree๊ฐ’์— ๋”ฐ๋ฅธ ๋„คํŠธ์›Œํฌ ๊ทธ๋ž˜ํ”„

 

2.4.2. Closeness Centrality (๊ทผ์ ‘ ์ค‘์‹ฌ์„ฑ) ๊ณ„์‚ฐ ๋ฐ ๋„คํŠธ์›Œํฌ ๊ทธ๋ž˜ํ”„ ์ž‘์„ฑ

๋„คํŠธ์›Œํฌ์˜ ๊ทผ์ ‘ ์ค‘์‹ฌ์„ฑ ๋ถ„์„์„ ํ•ด๋ณด์•˜๋‹ค. ์ด๋Š” ๊ฐ ๋…ธ๋“œ ๊ฐ„์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ทผ๊ฑฐ๋กœ ์ค‘์‹ฌ์„ฑ์„ ์ธก์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ง์ ‘์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ๋งŒ ๊ณ„์‚ฐํ•˜๋Š” Degree์™€๋Š” ๋‹ฌ๋ผ, ๊ฐ„์ ‘์ ์ธ ์—ฐ๊ฒฐ ๋…ธ๋“œ๊นŒ์ง€ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๊ทผ์ ‘ ์ค‘์‹ฌ์„ฑ ๋ถ„์„์€ ๊ทผ์ ‘ ์ค‘์‹ฌ์„ฑ์ด ๋†’์„์ˆ˜๋ก ์ƒ‰์„ ๋” ์ง„ํ•˜๊ฒŒ ํ‘œ์‹œํ•˜๋ฉฐ, ์ด๋Š” [๊ทธ๋ฆผ 6]์„ ํ†ตํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

# ๊ทผ์ ‘ ์ค‘์‹ฌ์„ฑ์ค‘์‹ฌ์„ฑ(closeness)
clo <- igraph::closeness(g)
clo.score<-round((clo-min(clo))*length(clo)/max(clo))+1
clo.colors<-rev(heat.colors(max(clo.score)))
# Degree ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋…ธ๋“œ ํฌ๊ธฐ ๋ณ€ํ™”
V(g)$color<-clo.colors[clo.score]
plot(g, vertex.label.cex=1)

[๊ทธ๋ฆผ 6] Closeness Centrality ๋ถ„์„์— ๋”ฐ๋ฅธ ๋„คํŠธ์›Œํฌ ๊ทธ๋ž˜ํ”„

 

2.4.3 Betweenness Certrality (๋งค๊ฐœ ์ค‘์‹ฌ์„ฑ) ๊ณ„์‚ฐ ๋ฐ ๋„คํŠธ์›Œํฌ ๊ทธ๋ž˜ํ”„ ์ž‘์„ฑ

๋„คํŠธ์›Œํฌ ๋‚ด์—์„œ ํ•œ ๋…ธ๋“œ๊ฐ€ ๋‹ด๋‹นํ•˜๋Š” ์ค‘๊ฐ„ ๋งค๊ฐœ์ž ์—ญํ• ์˜ ์ •๋„๊ฐ€ ์–ด๋Š์ •๋„ ๋˜๋Š”์ง€ ๋งค๊ฐœ ์ค‘์‹ฌ์„ฑ์„ ๊ณ„์‚ฐํ•œ๋‹ค. ํŠน์ • ๋…ธ๋“œ๊ฐ€ ๋‹ค๋ฅธ ๋…ธ๋“œ๋“ค๊ณผ์˜ ์ตœ๋‹ค ๊ฒฝ๋กœ ์ƒ์— ์žˆ์„์ˆ˜๋ก ๋งค๊ฐœ ์ค‘์‹ฌ์„ฑ์ด ํฌ๊ฒŒ ๋‚˜ํƒ€๋‚˜๊ณ , ์ด๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด ๋งค๊ฐœ ์ค‘์‹ฌ์„ฑ์ด ํด์ˆ˜๋ก ๋” ์ง„ํ•œ์ƒ‰์œผ๋กœ ํ‘œํ˜„ํ•˜์—ฌ [๊ทธ๋ฆผ 7]๊ณผ ๊ฐ™์ด ๋‚˜ํƒ€๋ƒˆ๋‹ค.

# ๋งค๊ฐœ ์ค‘์‹ฌ์„ฑ์ค‘์‹ฌ์„ฑ(betweeness)
btw<-igraph::betweenness(g)
btw.score<-round(btw)+1
btw.colors<-rev(heat.colors(max(btw.score)))
V(g)$color<-btw.colors[btw.score]
plot(g, vertex.label.cex=1)
btw

[๊ทธ๋ฆผ 7] Betweenness Centrality ๋ถ„์„์— ๋”ฐ๋ฅธ ๋„คํŠธ์›Œํฌ ๊ทธ๋ž˜ํ”„

 

2.5 ๋„คํŠธ์›Œํฌ ํด๋Ÿฌ์Šคํ„ฐ

๋„คํŠธ์›Œํฌ ์ƒ์—์„œ clique์™€ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ํ™•์ธํ•œ๋‹ค. Clique์˜ ํฌ๊ธฐ๋ฅผ ํ™•์ธํ•˜๊ณ , ๊ฐ€์žฅ ํฐ clique๋ฅผ ์„ ์ •ํ•œ๋‹ค. ์„ ์ •๋œ clique๋ฅผ ๋„คํŠธ์›Œํฌ ๊ทธ๋ž˜ํ”„์—์„œ ํ™ฉ๊ธˆ์ƒ‰์œผ๋กœ ํ‘œ์‹œํ•  ๊ฒƒ์ด๋‹ค. ์ด๋Š” [๊ทธ๋ฆผ 8]์„ ํ†ตํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ™ฉ๊ธˆ์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋œ ๋…ธ๋“œ๋Š” ๋‹ค๋ฅธ ๋…ธ๋“œ์— ๋น„ํ•ด์„œ ๋”์šฑ ๊ด€๊ณ„์˜ ์ •๋„๊ฐ€ ๊นŠ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ํ˜„์žฌ footballํŒ€๋“ค์€ ๋ชจ๋‘ ํ™ฉ๊ธˆ์ƒ‰์œผ๋กœ ํ‘œํ˜„๋˜๋ฏ€๋กœ, ๋ชจ๋“  ํŒ€๋“ค๊ณผ ์„œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ณ , ๊ด€๊ณ„๊ฐ€ ๋™์ผํ•˜๊ฒŒ ๊นŠ์Œ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

# density
graph_density<-graph.density(g)
plot(g)

# cluster
clusters<-clusters(g)
clusters(g)$csize
# clique
clique<-cliques(g) ## clique ๋ฆฌ์ŠคํŠธ
clique_length<-sapply(cliques(g), length) ## clique์˜ ์ˆซ์ž๋ฅผ ๋ณด์—ฌ์คŒ
largest_clique<-largest_cliques(g) ## ๊ฐ€์žฅ ํฐ clique ๋„์ถœ

# ์› ๊ทธ๋ž˜ํ”„์— clique๋ฅผ ํ™ฉ๊ธˆ์ƒ‰์œผ๋กœ ํ‘œ์‹œ
vcol <- rep("grey80", vcount(g))
vcol[unlist(largest_cliques(g))] <- "gold"
plot(as.undirected(g), vertex.label=V(g)$name, vertex.label.cex=1, vertex.color=vcol)

[๊ทธ๋ฆผ 8] Clique

 

3. ๋งํฌ ์˜ˆ์ธก

์‹ค์ œ๋กœ ์—ฐ๊ฒฐ๋œ ๋„คํŠธ์›Œํฌ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐ์—์„œ ๋” ๋‚˜์•„๊ฐ€ ๋ณธ ๊ฒŒ์‹œ๊ธ€์€ ํ•˜๋‚˜์˜ ๋…ธ๋“œ๊ฐ€ ๋‹ค๋ฅธ ์–ด๋–ค ๋…ธ๋“œ์™€ ์—ฐ๊ฒฐ๋  ํ™•๋ฅ ์„ ์˜ˆ์ธกํ–ˆ๋‹ค. ์ฆ‰ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋…ธ๋“œ ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ์˜ˆ์ธกํ•˜๊ณ  ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋ฐฉ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ์†์—์„œ ์‚ด์•„๊ฐ€๋Š” ์š”์ฆ˜์—๋Š” ๋„คํŠธ์›Œํฌ ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ๋„์ถœํ•˜๋Š” ์ค‘์š”์„ฑ์ด ์ฆ๋Œ€๋˜๊ณ  ์žˆ๋‹ค.

๋ณธ ๊ฒŒ์‹œ๊ธ€์—์„œ๋Š” ๊ฑฐ๋ฆฌ ๊ธฐ๋ฐ˜์˜ ๋งํฌ ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋จผ์ € hierarchical random graph model๋กœ ๊ณ„์ธต ํ˜•ํƒœ์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ๋จผ์ € ์ž‘์„ฑํ•˜๊ณ , ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ edge๋ฅผ ํ™•๋ฅ ๋กœ ๊ณ„์‚ฐํ•˜์—ฌ ์—ฐ๊ฒฐ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ edge๋ฅผ ์ œ์‹œํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€๊นŒ์šด ๋…ธ๋“œ์ผ์ˆ˜๋ก ํ•˜์œ„ ์ธต๋ถ€ํ„ฐ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ณ , ๊ฑฐ๋ฆฌ๊ฐ€ ๋จผ ๋…ธ๋“œ๋“ค์€ ์ƒ์œ„ ์ธต์—์„œ ์—ฐ๊ฒฐ๋จ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ฒฐ๊ณผ๋ฅผ csvํŒŒ์ผ๋กœ ์ €์žฅํ•˜์˜€์œผ๋ฉฐ, ์ €์žฅ๋œ ํŒŒ์ผ์˜ ๋‚ด์šฉ ์ค‘ ์ผ๋ถ€๋ฅผ [๊ทธ๋ฆผ 9]์— ๋‚˜ํƒ€๋ƒˆ๋‹ค.

# Link Prediction
predicted <- predict_edges(g)
V(g)$name
a1 <- predicted$edges
a2 <- predicted$prob
a3 <- cbind(a1, a2)
colnames(a3) = c("from", "to", "prob")
write.csv(a3, "link_prediction.csv")

[๊ทธ๋ฆผ 9] ๋งํฌ ์—์ธก ๊ฒฐ๊ณผ

๋งํฌ ์˜ˆ์ธก ๊ฒฐ๊ณผ๋ฅผ ์‚ดํŽด๋ณด๋‹ˆ, 3๋ฒˆ ๋…ธ๋“œ์™€ 12๋ฒˆ๋…ธ๋“œ๊ฐ€ ์—ฐ๊ฒฐ๋  ํ™•๋ฅ ์€ 0.2677, 2๋ฒˆ ๋…ธ๋“œ์™€ 3๋ฒˆ ๋…ธ๋“œ๊ฐ€ ์—ฐ๊ฒฐ๋  ํ™•๋ฅ ์€ 0.246118, 3๋ฒˆ ๋…ธ๋“œ์™€ 8๋ฒˆ ๋…ธ๋“œ๊ฐ€ ์—ฐ๊ฒฐ๋  ํ™•๋ฅ ์€ 0.219546์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ๋‹ค. ์ด๋Š” 3๋ฒˆ ๋…ธ๋“œ์™€ 12๋ฒˆ ๋…ธ๋“œ๊ฐ€ ์—ฐ๊ฒฐ๋  ๊ฐ€๋Šฅ์„ฑ์€ 26.7%, 3๋ฒˆ ๋…ธ๋“œ์™€ 8๋ฒˆ ๋…ธ๋“œ๊ฐ€ ์—ฐ๊ฒฐ๋  ๊ฐ€๋Šฅ์„ฑ์€ 21.9% ๋ผ๊ณ  ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

4. ๊ฒฐ๋ก 

๋ณธ ๋ ˆํฌํŠธ์—์„œ๋Š” ๋„คํŠธ์›Œํฌ ๋ถ„์„ ๋ฐ ๋งํฌ ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ•˜์˜€๋‹ค. Degree, Closeness Centrality, Betweenness Centrality๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ๋„คํŠธ์›Œํฌ๋ฅผ ๋ถ„์„ํ•˜๊ณ , cluster๋ฅผ ํ†ตํ•ด ์ฃผ clique๋ฅผ ํ™•์ธํ•ด ๋ณด์•˜๋‹ค. ๋„คํŠธ์›Œํฌ ๋ถ„์„ ๋ฐ ์˜ˆ์ธก ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ, ์‹ค์ œ ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ์กด์žฌํ•˜๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ๋‹ค์–‘ํ•œ ์ธก๋ฉด์—์„œ ๋ถ„์„ํ•ด ๋ณผ ์ˆ˜ ์žˆ์—ˆ๊ณ , ์ด๋ฅผ ํ†ตํ•ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋„คํŠธ์›Œํฌ์— ํ•œํ•ด์„œ ์—ฐ๊ฒฐ๋  ์ˆ˜๋„ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์„ ๊ณ„์‚ฐํ•˜์—ฌ ๋งํฌ๋ฅผ ์˜ˆ์ธกํ•ด ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 ๊ฒฐ๊ณผ๋ฅผ ๋ณด์•˜์„ ๋•Œ, ํ˜„์žฌ ๋„คํŠธ์›Œํฌ๊ฐ€ ์ง์ ‘์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€ ์•Š์€ 3๋ฒˆ ๋…ธ๋“œ์™€ 12๋ฒˆ ๋…ธ๋“œ ์‚ฌ์ด์˜ ์—ฐ๊ฒฐ ๊ฐ€๋Šฅ์„ฑ์„ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์˜ˆ์ธกํ•˜๊ธฐ ํž˜๋“  ๋ฏธ์‹์ถ•๊ตฌ์™€ ๊ฐ™์€ ์Šคํฌ์ธ  ๋ถ„์•ผ์—์„œ ์ด์ฒ˜๋Ÿผ ๋„คํŠธ์›Œํฌ ๋ถ„์„ ๊ธฐ๋ฒ• ๋ฐ ๋งํฌ ์˜ˆ์ธก์„ ์ด์šฉํ•จ์œผ๋กœ์จ ์ƒˆ๋กœ์šด ๋„คํŠธ์›Œํฌ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ , ์ด๋ฅผ ํ†ตํ•ด ์„ ์ˆ˜์˜ ๋Šฅ๋ ฅ, ์Šน๋ฅ  ๋“ฑ์„ ์˜ˆ์ธกํ•จ์œผ๋กœ์จ ์Šคํฌ์ธ  ์‚ฐ์—…์˜ ๊ฐ€์น˜๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

 

๋งˆ์น˜๋ฉฐ...!

Clique๋ฅผ ํ™•์ธํ•ด ๋ณด์•˜์„ ๋•Œ, ๋ชจ๋“  football ํŒ€์€ ์„œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๊ณ , ๊ด€๊ณ„๊ฐ€ ๋™์ผํ•˜๊ฒŒ ๊นŠ๋‹ค๊ณ  ๋‚˜ํƒ€๋‚œ ๊ฒƒ์ด ์กฐ๊ธˆ ์˜์‹ฌ์Šค๋Ÿฝ๋‹ค. ๋‚ด๊ฐ€ ๋ถ„์„์„ ์ž˜ํ–ˆ๋Š”์ง€์— ๋Œ€ํ•œ ์˜๊ตฌ์‹ฌ์ด ๋“ ๋‹ค ใ…  ๋„คํŠธ์›Œํฌ ๋ถ„์„ ๋˜ํ•œ, ๋‹ค์–‘ํ•œ ํšŒ์‚ฌ์˜ ์ธ์‚ฌํŒ€ ํ˜น์€ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์‹œ์Šคํ…œ์œผ๋กœ ๋งŽ์ด ์“ฐ์ผ ๊ฒƒ ๊ฐ™๋‹ค.  ์‹ค๋ฌด์—์„œ ์‚ฌ์šฉ๋  ๋•Œ, ๋‚ด๊ฐ€ ์Šค์Šค๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์„ ๋•Œ๊นŒ์ง€ ๊ณต๋ถ€ํ•ด๋ด์•ผ๊ฒ ๋‹ค ๋‹ค. :)

๋ฐ˜์‘ํ˜•