Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ネットワーク分析してみた
Search
なごみそ
June 26, 2019
Programming
540
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ネットワーク分析してみた
NetworkXを使ってネットワークの分析をしてみたお話です.
(2019-06-27: おまけをつけました)
なごみそ
June 26, 2019
More Decks by なごみそ
See All by なごみそ
デレマス呼称表から見える アイドルの関係(?)
nagomiso
1
1.3k
ちょっとかしこく生きよう
nagomiso
0
640
JUMAN++で分かち書きをしたかった...
nagomiso
0
100
さよなら Storm
nagomiso
0
51
ここが変だよ Apache Storm
nagomiso
0
29
Other Decks in Programming
See All in Programming
AIとGame Jamで、ゲームを完成させた話
takahirosaeki
0
120
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
1
530
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
240
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
150
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
670
スマート反転とウェブアクセシビリティ
camiha
0
200
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
6
1.7k
iOSDC2026登壇資料.pdf
riofujimon
0
120
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
150
アクセシビリティから考える情報設計
high_g_engineer
0
360
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
430
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
790
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
What's in a price? How to price your products and services
michaelherold
247
13k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
ラッコキーワード サービス紹介資料
rakko
1
4.8M
Joys of Absence: A Defence of Solitary Play
codingconduct
1
510
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
570
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
320
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
580
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
680
Transcript
ネットワーク分析してみた 2019-06-26 なごみそ@Kawasaki.rb#73
Kawasaki.rb 6周年 おめでとうございます
自己紹介 •なごみそ(@NagominHotMotto) •仕事: お盆と年末に有明で戦うこと.
ネットワーク分析 •対象をネットワーク構造(=グラフ)として 表現してその特性を分析すること. - e.g., • PageRankによるページの重要度付け • SNSにおいて影響力があるユーザを探す など
グラフとは •頂点 (vertex, node), 辺 (edge), 点と辺の対応付け からなる構造のこと. • 数学的には以下の3つ組
(V, E, Ψ) のこと. - 点集合: V - 辺集合: E - 対応付: v u w 辺 頂点
プログラムでグラフを扱う NetworkX • Pythonでグラフを扱うライブラリ. • ほぼPure Pythonで実装されている. - Numpy, Scipyもあまり使われていない.
- 大規模グラフを扱うときはGraphXとかNeo4jとかを使ったほうがよい. • ちなみに - SciRubyにはnetworkx.rbなるライブラリがある!!! - でも眺めた感じはまだ機能が少ない.
NetworkXでのグラフ定義 とっても簡単 import networkx as nx G = nx.Graph() #
Vertexの追加. G.add_node('u') G.add_node('v') G.add_node('w') # Edgeの追加, 点と辺の対応付け. G.add_edge('u', 'v') G.add_edge('u', 'w') # 点集合. print(G.nodes) # => ['u', 'v', 'w'] # 辺集合. print(G.edges) # => [('u', 'v'), ('u', 'w')] v u w
NetworkXでできること(一部紹介) •最短経路探索 - 点uから点vに到達するまでに辿る最短経路を見つける. •グラフ同士の類似度算出 - グラフ同士がどれだけ似ているかの指標を算出する. •中心性算出 - 各点を特徴づける指標を算出する.
NetworkXでできること(一部紹介) •最短経路探索 - 点uから点vに到達するまでに辿る最短経路を見つける. •グラフ同士の類似度算出 - グラフ同士がどれだけ似ているかの指標を算出する. •中心性算出 - 各点を特徴づける指標を算出する.
中心性: 次数中心性 •頂点に接続された辺の数(次数)で決まる指標. •直接繋がりが多い頂点が中心. # 次数中心性. centrality = nx.degree_centrality(G) print(centrality['u'])
# => 2/2 = 1.0 print(centrality['v']) # => 1/2 = 0.5 print(centrality['w']) # => 1/2 = 0.5 v u w
中心性: 近接中心性 •他の頂点との距離が近いほど高くなる指標. •どの頂点からも平均的に近い頂点が中心. # 近接中心性. centrality = nx.closeness_centrality(G) print(centrality['u'])
# => 2/(1+1) = 1.0 print(centrality['v']) # => 2/(1+2) = 0.666 print(centrality['w']) # => 2/(1+2) = 0.666 v u w
中心性: 媒介中心性 •頂点を通る経路が多いほど高くなる指標. •他の頂点へ繋がる際多く経由される頂点が中心. # 媒介中心性. centrality = nx.betweenness_centrality(G) print(centrality['u'])
# => 1/1 = 1.0 print(centrality['v']) # => 0.0 print(centrality['w']) # => 0.0 v u w
実践(?) 346プロダクションの人間関係を見てみる
346プロの人間関係を見てみる 利用データ • アイドルマスターシンデレラガールズ呼称表 (参考: https://cgcall.negipo.cc/) - 346プロ所属アイドル同士の呼称が記載されている. • e.g.,
- 島村卯月 → 渋谷凛 = 凛ちゃん - 渋谷凛 → 島村卯月 = 卯月 • 呼称データが存在するアイドルは交流があると考える. - 「頂点=アイドル」, 「辺=呼称有り関係」のネットワーク.
346プロの中心人物は誰か? •ネットワークから中心性を算出. •中心性から346プロ内における交流のコア人物を 見つける. 注意 • あくまで一指標(中心性)で見るとどうかの話です. • 特定のアイドルに対する絶対的な評価とはなりません.
中心性トップ10 順位 次数中心性 近接中心性 媒介中心性 1 本田未央 1.0160 川島瑞樹 0.5593
本田未央 0.0671 2 諸星きらり 0.4894 諸星きらり 0.5576 乙倉悠貴 0.0269 3 大槻唯 0.4840 白坂小梅 0.5510 双葉杏 0.0261 4 川島瑞樹 0.4787 堀裕子 0.5461 前川みく 0.0225 5 多田李衣菜 0.4628 西園寺琴歌 0.5444 脇山珠美 0.0219 6 小早川紗枝 0.4521 島村卯月 0.5397 藤原肇 0.0214 7 堀裕子 0.4362 安部菜々 0.5397 川島瑞樹 0.0212 8 島村卯月 0.4309 大槻唯 0.5365 堀裕子 0.0202 9 渋谷凛 0.4309 小早川紗枝 0.5365 大槻唯 0.0195 10 藤原肇 0.4202 佐久間まゆ 0.5365 西園寺琴歌 0.0180 コミュ力が高そうなアイドルが上位にいる
中心性トップ10 順位 次数中心性 近接中心性 媒介中心性 1 本田未央 1.0160 川島瑞樹 0.5593
本田未央 0.0671 2 諸星きらり 0.4894 諸星きらり 0.5576 乙倉悠貴 0.0269 3 大槻唯 0.4840 白坂小梅 0.5510 双葉杏 0.0261 4 川島瑞樹 0.4787 堀裕子 0.5461 前川みく 0.0225 5 多田李衣菜 0.4628 西園寺琴歌 0.5444 脇山珠美 0.0219 6 小早川紗枝 0.4521 島村卯月 0.5397 藤原肇 0.0214 7 堀裕子 0.4362 安部菜々 0.5397 川島瑞樹 0.0212 8 島村卯月 0.4309 大槻唯 0.5365 堀裕子 0.0202 9 渋谷凛 0.4309 小早川紗枝 0.5365 大槻唯 0.0195 10 藤原肇 0.4202 佐久間まゆ 0.5365 西園寺琴歌 0.0180 その中でもちゃんみおがブッチギリ コミュ力が高そうなアイドルが上位にいる
•明らかに本田未央の中心性が高い. 中心性の分布を見てみる ちゃんみお 0.5111
•ちなみに私の推しである土屋亜子さんは…… 中心性の分布を見てみる 亜子 0.4221 0.0904 0.001230
None
その他(2019年実装の新人たち) •白雪千夜, 黒崎ちとせ, 久川颯, 夢見りあむは媒介 中心性が0.00だった. •砂塚あきらが孤立頂点になっていて中心性が算 出できなかった. •辻野あかりの媒介中心性はなんと新田美波より 高い.
- 夢見りあむとその他の346プロメンバーの橋渡しに なっている.
まとめ • NetworkXを使うと簡単にネットワーク分析ができる. - 関数一つでパッと各種計算が可能. • 中心性を計算するとコミュ力が高そうなアイドルが上 位に来ていた. • ちゃんみおが346プロにおける交流の要・中心人物?
- 色々なアイドルの橋渡し的な存在. • 土屋亜子さんは交流の中心にはなれていない模様…… • 新実装アイドルたちは今後の交流に期待.
おまけ 選挙順位と中心性の散布図を描いてみた. ランクインするほど人気があるアイドルは やはり一定以上他のアイドルと交流がある模様 なーちゃんとりあむの ランクインはやはり特殊