Pythonで学ぶネットワーク分析 ColaboratoryとNetworkXを使った実践入門

参加者

  1. 小林 和央
  2. 奈須 日向太
  3. 藤兼 由生
  4. 嶋田 恭助
  5. 赤尾 貴仁
  6. 葛西 日向
  7. 清水 一生
  8. 鈴木 葵登
  9. (岸上 遼太郎)
  10. 宇川 徹
  11. 中北 雄大
  12. 山本 悠統

目次

第1章 分析できる環境を用意する-ツールや言語の把握 1 [教員] (12ページ)
 1.1 ネットワークとは
 1.2 ネットワーク分析ツール
1.2.1 NetworkX
1.2.2 Gephi
1.2.3 graph-tool
1.2.4 igraph
 1.3 ネットワーク可視化ツール
1.3.1 Matplotlib
1.3.2 Bokeh
 1.4 プログラミング言語-Python
 1.5 代表的なPythonの実行環境-Jupyter Notebook
 1.6 本書で使用するPythonの実行環境-Colaboratory
 練習問題 Andrea Lancichinetti, Mikko Kivela, Jari Saramaki, Santo Fortunato: Characterizing the community structure of complex networks, PLoS One 5(8), e11976 (2010).

第2章 ネットワーク分析の流れを知る-小説の人間関係を紐解く 13 [赤尾] (22ページ) [Colaboratory]
 2.1 データの入力
2.1.1 実ネットワーク
2.1.2 人工ネットワーク
2.1.3 データ構造
 2.2 ネットワークの可視化
 2.3 中心性の計算
 2.4 特徴量の計算
 2.5 コミュニティの抽出
 2.6 結果の出力、保存
 練習問題

第3章 必要な用語を学ぶ-ネットワークの基礎知識 35 [山本] (19ページ)[Colaboratory]
 3.1 隣接行列、辺リスト
 3.2 次数
3.2.1 次数、次数分布
3.2.2 有向グラフ、無向グラフ
3.2.3 多重辺、自己ループ
3.2.4 有向グラフから無向グラフへの変換
3.2.5 2部グラフ
 3.3 パス 54 [宇川] (18ページ)
3.3.1 パスの概要
3.3.2 サイクル
3.3.3 非循環グラフ
3.3.4 直径
 3.4 連結成分 64
3.4.1 連結、連結成分
3.4.2 強連結成分
3.4.3 連結性
 3.5 グラフラプラシアン 72 [中北] (11ページ)
 3.6 クラスタ係数
 3.7 次数相関
 練習問題

第4章 中心を見つける-さまざまな中心性 83 [葛西] (14ページ)[Colaboratory]
 4.1 さまざまな中心性の定義
 4.2 次数中心性
 4.3 固有ベクトル中心性
 4.4 Katz中心性
 4.5 PageRank
 4.6 媒介中心性
 4.7 近接中心性
 4.8 中心性の比較
 練習問題4

第5章 経路を見つける-ネットワークの探索 97 [鈴木] (16ページ)[Colaboratory]
 5.1 幅優先探索と深さ優先探索
 5.2 ダイクストラのアルゴリズム
 5.3 最大流最小カット
 練習問題

第6章 グループを見つける-分割と抽出 113 [藤兼] (16ページ)[Colaboratory]
 6.1 ネットワーク分割
6.1.1 Kernighan-Linアルゴリズム
6.1.2 スペクトラル分割
 6.2 コミュニティ抽出
6.2.1 ラベル伝搬
6.2.2 モジュラリティ最適化
6.2.3 スペクトラルなモジュラリティ最適化
 練習問題

第7章 似たネットワークを作る-モデル化 129 [小林] (16ページ)[Colaboratory]
 7.1 次数分布
 7.2 ランダムグラフ
 7.3 コンフィギュレーションモデル
 7.4 スケールフリーグラフ
 7.5 スモールワールドグラフ
 練習問題

第8章 似た頂点を見つける-将来の構造予測 145 [嶋田] (16ページ)[Colaboratory]
 8.1 頂点間の類似度
 8.2 リンク予測
 8.3 network embeddingによるリンク予測
 練習問題

第9章 病気や口コミの広がりをモデル化する-感染、情報伝搬 161 [那須] (12ページ)[Colaboratory]
 9.1 SI model
 9.2 SIR model
 9.3 NDlibによるシミュレーション
 9.4 その他の感染モデル
 練習問題

第10章 ネットワークを俯瞰する-可視化による分析 173 [清水] (10ページ)[Colaboratory]
 10.1 静的なネットワーク可視化
 10.2 インタラクティブなネットワーク可視化
 10.3 本書で使用した可視化ツール
 練習問題

第11章 リファレンス 183
 11.1 参考文献
 11.2 ネットワークデータ
 11.3 ネットワーク分析の関連情報
 11.4 本書の追加情報

練習問題解答


参考資料


風間 一洋