データサイエンスのためのグラフアルゴリズム
グラフの基礎から Python 実装・機械学習・生成 AI 活用まで
グラフ探索、最短経路、中心性分析、コミュニティ検出から、グラフデータベース、機械学習への接続、ノード埋め込み、リンク予測までを、NetworkXとPythonで実践的に学ぶ一冊。
- Graph Algorithms
- NetworkX
- Machine Learning
- Generative AI
- Python
書誌情報
- 状況
- 執筆中
- 分野
- データサイエンス
- 言語
- 日本語
- 形態
- 印刷書籍・電子書籍(予定)
この本について
表形式のデータは扱いやすい一方で、「誰が誰とつながっているか」「何が何と一緒に起こりやすいか」といった関係そのものは、行と列の中に埋もれてしまいます。本書は、この関係を明示的に扱うグラフという表現を出発点に、探索、最短経路、中心性、コミュニティ検出、二部グラフの投影、類似性ネットワークをPythonとNetworkXで学びます。続けて、探索的グラフ分析の進め方とグラフデータベース(Neo4jとCypher)によるクエリ、不正検知やレコメンドといった実務パターンを扱い、最終章群ではグラフ構造を機械学習の特徴量とノード埋め込みへ変換し、ノード分類とリンク予測まで進みます。
掲載するコードはすべて実際の環境で動作を確認しており、Zachary's Karate ClubやIrisといった教育用に安定した公開データセットと、説明にそのまま対応する自作の小規模データを中心に用いています。知識グラフと知識補完、テキストからのグラフ構築、分析基盤の選び方、生成AI時代におけるグラフの役割まで、全21章で一貫して扱います。
本書で学べること
- グラフの基本構造と、実データをグラフへ落とし込むモデリングの考え方
- 幅優先探索・深さ優先探索による探索と、Dijkstra法による最短経路
- 次数・近接・媒介・固有ベクトル中心性とPageRankによる重要ノードの発見
- ラベル伝播法とLouvain法によるコミュニティ検出
- 二部グラフの投影による類似性ネットワークの構築とセグメンテーション
- Cypherを用いたグラフデータベース(Neo4j)の基本操作
- グラフ構造を特徴量とノード埋め込みへ変換し、ノード分類・リンク予測へつなげる方法
対象読者
- 表形式データだけでは捉えきれない関係を分析したいデータサイエンティスト
- NetworkXを使ったグラフ分析を実務に取り入れたいエンジニア
- レコメンド、不正検知、依存関係分析にグラフを応用したい実務者
- グラフ特徴量やノード埋め込みを機械学習に組み込みたい方
目次(予定)
※ 刊行前のため、目次および内容は変更される場合があります。
- 第1章
なぜデータサイエンスにグラフが必要なのか
- 第2章
グラフの基本構造を理解する
- 第3章
グラフデータモデリング入門
- 第4章
Pythonで始めるグラフ分析
- 第5章
グラフ探索の基本
- 第6章
最短経路と経路分析
- 第7章
中心性で重要ノードを見つける
- 第8章
コミュニティ検出とグラフ構造の理解
- 第9章
投影によって間接関係を直接関係に変える
- 第10章
類似性ネットワークとセグメンテーション
- 第11章
探索的グラフ分析
- 第12章
グラフデータベースとクエリ言語入門
- 第13章
実務で使うグラフ分析パターン
- 第14章
グラフ特徴量と機械学習の接続
- 第15章
ノード埋め込み
- 第16章
ノード分類
- 第17章
リンク予測
- 第18章
知識グラフと知識補完
- 第19章
NLPからグラフを構築する
- 第20章
グラフ分析基盤の選び方
- 第21章
生成AI時代のグラフデータサイエンス
- 付録
章末演習
刊行情報
- 全21章の草稿と検証済みコードが完成しました。刊行時期は未定です。
- 企画が確定しました。