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
発表の言語:日本語
発表資料の言語:日本語
所属
- みずほリサーチ&テクノロジーズ株式会社 先端技術研究部
- データプラットフォームの設計や運用に関わる研究開発や案件に従事
アカウント
- Qiita: https://qiita.com/fujine
- SpeakerDeck: https://speakerdeck.com/mhrtech
過去の PyCon JP発表履歴
- PyConJP 2021: scikit-learnの新機能を紹介します
- PyConJP 2022: Pandas卒業?大規模データを様々なパッケージで高速処理してみる
- PyConJP2024: あなたのアプリケーションをレガシーコードにしないための実践Pytest入門