Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
データマイニング - グラフ構造の諸指標
Search
Y. Yamamoto
PRO
June 20, 2025
Science
0
140
データマイニング - グラフ構造の諸指標
1. グラフの大きさ
2. 密度
3. 連結性
4. 次数の分布
Y. Yamamoto
PRO
June 20, 2025
Tweet
Share
More Decks by Y. Yamamoto
See All by Y. Yamamoto
データベース15: ビッグデータ時代のデータベース
trycycle
PRO
0
270
データベース14: B+木 & ハッシュ索引
trycycle
PRO
0
360
データマイニング - グラフ埋め込み入門
trycycle
PRO
0
46
データマイニング - ウェブとグラフ
trycycle
PRO
0
120
データベース12: 正規化(2/2) - データ従属性に基づく正規化
trycycle
PRO
0
840
データマイニング - コミュニティ発見
trycycle
PRO
0
110
データベース11: 正規化(1/2) - 望ましくない関係スキーマ
trycycle
PRO
0
820
データマイニング - ノードの中心性
trycycle
PRO
0
220
データベース10: 拡張実体関連モデル
trycycle
PRO
0
860
Other Decks in Science
See All in Science
Accelerated Computing for Climate forecast
inureyes
PRO
0
110
点群ライブラリPDALをGoogleColabにて実行する方法の紹介
kentaitakura
1
330
白金鉱業Meetup Vol.16_数理最適化案件のはじめかた・すすめかた
brainpadpr
4
1.8k
baseballrによるMLBデータの抽出と階層ベイズモデルによる打率の推定 / TokyoR118
dropout009
1
520
Quelles valorisations des logiciels vers le monde socio-économique dans un contexte de Science Ouverte ?
bluehats
1
450
MCMCのR-hatは分散分析である
moricup
0
400
統計的因果探索: 背景知識とデータにより因果仮説を探索する
sshimizu2006
4
950
Valuable Lessons Learned on Kaggle’s ARC AGI LLM Challenge (PyDataGlobal 2024)
ianozsvald
0
400
KH Coderチュートリアル(スライド版)
koichih
1
43k
Cross-Media Information Spaces and Architectures (CISA)
signer
PRO
3
31k
Lean4による汎化誤差評価の形式化
milano0017
1
280
Machine Learning for Materials (Challenge)
aronwalsh
0
310
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
How GitHub (no longer) Works
holman
314
140k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Visualization
eitanlees
146
16k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
We Have a Design System, Now What?
morganepeng
53
7.7k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Designing Experiences People Love
moore
142
24k
Optimizing for Happiness
mojombo
379
70k
Building an army of robots
kneath
306
45k
Transcript
グラフ構造の諸指標 ⼭本 祐輔 名古屋市⽴⼤学 データサイエンス研究科
[email protected]
第10回 データマイニング (グラフ分析入門) ⼭本祐輔
クリエイティブコモンズライセンス (CC BY-NC-SA 4.0)
グラフを「把握したい」ケース グラフを把握したい ノード 単体 グラフの 部分構造 グラフ 全体
グラフを「把握したい」ケース グラフを把握したい ノード 単体 グラフの 部分構造 グラフ 全体 ノードの 重要度評価
コミュニティや 特徴的な経路の発⾒ 局所的特徴 ⼤局的特徴
グラフを「把握したい」ケース グラフを把握したい グラフ 全体 ノードの 重要度評価 コミュニティや 特徴的な経路の発⾒ 局所的特徴 ⼤局的特徴
はじめにグラフ全体の特徴を理解することは重要 ノード 単体 グラフの 部分構造
グラフの⼤きさを⽰す指標: ノード数 グラフに含まれるノードの数 1 0 2 3 4 5 |
V | = 6 # NetworkXを使う場合 V = G.nodes() len(V) # 以下でもOK G.number_of_nodes()
グラフの⼤きさを⽰す指標: 直径 (diameter) グラフに属するノード間の距離の最大値 1 0 2 3 4 5
(最も離れているノード同⼠の距離) 1 0 4 2 3 5 d = 3 d = 1
グラフの⼤きさを⽰す指標: 直径 (diameter) d = ? グラフに属するノード間の距離の最大値 (最も離れているノード同⼠の距離) 1 0
4 2 3 5
グラフの⼤きさを⽰す指標: 直径 (diameter) d = 3 グラフに属するノード間の距離の最大値 (最も離れているノード同⼠の距離) 1 0
4 2 3 5 # NetworkXを使う場合 nx.diameter(G)
余談: 離⼼数 (eccentricity) 注目ノードから他ノードへの距離の最大値 1 0 2 3 4 5
ノード0の離⼼数 = 3 1 0 2 3 4 5 ノード2の離⼼数 = 2 グラフの直径とは「グラフ中のノード離心数の最大値」
グラフの⼤きさを⽰す指標: 半径 (radius) グラフに属するノードの離心数の最小値 1 0 2 3 4 5
1 0 4 2 3 5 半径r = 2 r = 1 (直径d = 3) (直径d = 1)
グラフの⼤きさを⽰す指標: 半径 (radius) r = ? 1 0 4 2
3 5 グラフに属するノードの離心数の最小値
グラフの⼤きさを⽰す指標: 半径 (radius) r = 3 グラフに属するノードの離心数の最小値 1 0 4
2 3 5 # NetworkXを使う場合 nx.radius(G)
グラフの密度 (density) グラフ中のノード間に張ることのできる すべての辺に対する、実際の辺の数の割合 1 0 2 3 4 5
ノード集合をV、 エッジ集合をEとすると = | E | | V | C2 密度 密度 = ! "#$ nx.density(G) # NetworkXを使う場合
グラフの密度 (density) グラフ中のノード間に張ることのできる すべての辺に対する、実際の辺の数の割合 密度 = ! !"# = 0.4
1 0 4 2 3 5 1 0 4 2 3 5 密度 = 1
完全グラフ(complete graph) グラフ中の全ノード間にエッジが張られている グラフを完全グラフと呼ぶ 1 0 4 2 3 5
密度 = 1
連結性 グラフ中の任意のノード間に経路が存在する とき、そのグラフは「連結グラフ」という 1 0 4 2 3 5 連結グラフ
1 0 4 2 3 5 ⾮連結グラフ
連結性 グラフ中の任意のノード間に経路が存在する とき、そのグラフは「連結グラフ」という 1 0 4 2 3 5 連結グラフ
nx.is_connected(G) # NetworkXを使う場合 # 左のグラフにはTrueを返す
強連結 有向グラフ中の任意のノード間に有向経路が 存在するとき、そのグラフは「強連結」である 1 0 4 2 3 5 強連結である
1 0 4 2 3 5 強連結でない
強連結 有向グラフ中の任意のノード間に有向経路が 存在するとき、そのグラフは「強連結」である 1 0 4 2 3 5 強連結である
nx.is_strongly_connected(G) # NetworkXを使う場合 # 左のグラフにはTrueを返す
次数分布 次数 (degree) ノードに接続しているエッジの数 次数分布 § グラフに属するノードの次数の分布 § ⼤きさや密度が同じでも次数分布が異なることもある 1
0 2 3 4 ノード2の次数 = 3 ノード4の次数 = 1
次数分布 次数 (degree) ノードに接続しているエッジの数 次数分布 § グラフに属するノードの次数の分布 § ⼤きさや密度が同じでも次数分布が異なることもある 1
0 2 3 4 G.degree[2] # NetworkXを使う場合 # ノード2の次数(=3)を返す
同じノード数,密度を持つのに次数分布が異なるグラフの例
Hands-on タイム 以下のURLにアクセスして, 第10回のクイズを解いてみよう https://graphnote.hontolab.org/ 23
回 実施日 トピック 9 06/13 グラフデータ 10 06/20 グラフ構造の諸指標 11
06/27 ノードの中心性 12 07/04 コミュニティ発見 13 07/11 ウェブグラフ 14 07/18 グラフ埋め込み 15 07/25 総合演習 – 社会ネットワーク分析 授業計画 24