PyCon JP 2025

NetworkXとGNNで学ぶグラフデータ分析入門:複雑な関係性を解き明かすPythonの力
2025/09/27 , ダリア2

Pythonによるグラフ構造データ(以下、グラフと呼称)の表現と分析手法について紹介いたします。

グラフは、現実世界における複雑な関係性を表現する強力なツールです。
SNSにおける人々の繋がり、ウェブサイトのリンク構造、交通網、分子構造など、あらゆるものがグラフとしてモデル化でき、データサイエンス分野との親和性も高いのが特徴です。

本発表では、Pythonのグラフ分析パッケージであるNetworkXを用いたグラフの生成や分析、そしてGNN(Graph Neural Networks)による深層学習の例を紹介します。
複雑な理論や数式は避け、初心者にも分かりやすい実践的な内容を発表する予定です。
また、一般的な表形式データの分析に長けたデータサイエンティストやアナリストに対しても、グラフデータの分析手法という新たな学びを提供できればと考えております。


1. オープニング (2分)

  • 自己紹介
  • 発表内容とゴール、オーディエンスが持ち帰りできる知見

2. グラフの基礎 (5分)

  • 身の回りにあるグラフの例
  • グラフで表現するメリット (関係性や構造の可視化や分析、表形式データとの違い)
  • グラフの基本構成(ノードやエッジの概念)
  • グラフの種類(無向と有向、重みの有無など)

3. Pythonによるグラフ表現 (5分)

  • NetworkXの紹介
  • グラフの作成(空グラフ、ノードやエッジの追加)
  • グラフ情報の取得(ノード数やエッジ数、隣接ノード、次数など)
  • グラフの可視化

4. グラフの分析(5分)

  • 中心性分析(例. SNSで影響力のある人を見つける)
  • 最短経路探索(例. 最適な配送ルートを探す)
  • コミュニティ検出(例. 顧客グループを特定する)

5. GNNによる深層学習入門 (5分)

  • 表形式データを対象とした機械学習との違い
  • GNNが推論可能なタスク(ノード分類、リンク予測、グラフ分類など)
  • GNNの基本コンセプト
  • GNNの実装例

6. まとめ (3分)

  • 振り返り(NetworkXによる基本操作、GNNが有効なシーンなど)
  • 今後の学習ステップ

(残り時間で質疑応答)


この題材を選んだ理由やきっかけ:

選定理由

表形式データ分析が主流のデータサイエンスにおいて、グラフ分析はデータ間の「関係性」や「構造」を直接的に捉え、従来手法では見過ごされがちだった新たな知見やパターンを発見する強力な手段となります。
データドリブンな意思決定や社会課題の解決においてはグラフデータの活用が有効との考えから、グラフ分析の可能性とPythonでの実践的なアプローチを広く共有したいと考え、本テーマを選定いたしました。

また、過去のPyConJPでもグラフ分析に特化した発表事例は無いことから、データ分析への新たな視点や学びを提供できると考えております。

PyConJPテーマとの整合性

PyConJP2025年のイベントテーマは「多様な“pieces”の集まりとつながり」であり、本発表のテーマである「グラフ構造」はイベントテーマそのものを体現しており、整合性は高いと考えております。

Pythonとの関係性

グラフは現実世界における関係性の表現を得意とし、その活用範囲も多岐に渡ります。
グラフの分析はPythonが得意とするデータサイエンス分野との親和性も高く、様々な業種でも応用可能なことから、適用範囲は広いと考えております。

オーディエンスが持って帰れる具体的な知識やノウハウ:
  • NetworkXによるグラフ作成と分析の基本操作
  • GNNがどのような問題解決に使えるかのイメージと実装例
オーディエンスに求める前提知識:

必須の前提知識はありません。

オーディエンスの経験レベル:

Beginner

発表の言語:

日本語

発表資料の言語:

日本語

所属

  • みずほリサーチ&テクノロジーズ株式会社 先端技術研究部
  • データプラットフォームの設計や運用に関わる研究開発や案件に従事

アカウント

過去の PyCon JP発表履歴