『先輩データサイエンティストからの指南書』
https://gyazo.com/4806d89097864d33a73da3c8b906c295
2025/8/27
浅野純季 著
木村真也 著
田中冬馬 著
武藤克大 著
栁泉穂 著
技術評論社
https://upura.hatenablog.com/entry/2025/08/19/181856
入門すぎる?
第1章 実務で生き抜くためのエンジニアリングスキル
1.1 データサイエンティストを取り巻く環境の変遷
1.1.1 希少価値が高かったデータサイエンティスト黎明期
1.1.2 技術民主化の波とPoC 止まりの現実
1.1.3 データサイエンスを価値に繋げるために
1.2 プロジェクトで求められるエンジニアリングスキル
1.2.1 データサイエンスプロジェクトのフロー
1.2.2 データサイエンティストのスキル習得プロセスによる課題
1.2.3 データサイエンスプロジェクト特有の難しさ
1.2.4 価値を生むために必要なエンジニアリングスキル
1.3 まとめ
第2章 環境構築
2.1 分析の土台としての環境構築
2.1.1 なぜ環境構築が大切か
2.1.2 適切な環境構築をするために
2.2 リポジトリの構造を整える
2.2.1 適切な構造のリポジトリを作るメリット
2.2.2 本書で扱うリポジトリ構成
2.3 VS Codeでの開発環境の整備
2.3.1 VS Code の設定
2.3.2 VS Code の拡張機能
2.3.3 VS Code のデバッガ
2.3.4 VS Code のショートカット
2.4 Dev Container による仮想環境構築
2.4.1 仮想環境とは
2.4.2 仮想環境の種類
2.4.3 Docker とDocker Compose
2.4.4 Dev Container の使い方
2.5 uv によるパッケージ管理
2.5.1 パッケージ管理
2.5.2 パッケージマネージャーの比較
2.5.3 uv によるパッケージ管理
2.6 まとめ
第3章 コードの品質管理
3.1 Notebookだけのデータサイエンティストからの卒業
3.1.1 Notebookの手軽さと課題
3.1.2 Notebook vs Python Script
3.1.3 NotebookユーザーのためのPython Script入門
3.1.4 一歩上のNotebookの使い方
3.2 コード品質とは
3.2.1 コード品質の重要性
3.2.2 品質の高いコードとは
3.3 品質の高いコードとその実現方法
3.3.1 関数
3.3.2 クラス
3.3.3 命名
3.3.4 コメントの書き方
3.3.5 コーディング規約
3.3.6 型ヒントと静的型チェック
3.3.7 テスト
3.3.8 品質の高いコードを書けるようになるためには
3.4 コードレビューによる品質管理
3.4.1 コードレビューとは
3.4.2 コードレビューの利点と継続のために
3.4.3 Gitブランチ戦略を取り入れる
3.4.4 コードレビューの心得
3.4.5 チームでの効果的なコードレビューを目指して
3.5 まとめ
第4章 データの品質確認
4.1 データの品質確認の重要性
4.1.1 データの品質との向き合い方
4.1.2 現場のデータが汚い原因
4.2 分析開始前のデータ確認
4.2.1 データの背景を理解する
4.2.2 データの品質を理解する
4.3 Panderaによるデータフレームのバリデーション
4.3.1 データ加工時の品質担保
4.3.2 Panderaによるバリデーション
4.4 データ品質管理の継続的な取り組み
4.4.1 データの変化のモニタリング
4.4.2 データ基盤チームとの連携による品質改善
4.5 まとめ
第5章 機械学習モデルの実験管理
5.1 実験管理の意義
5.1.1 データサイエンスプロジェクトの不確実性
5.1.2 実験管理の必要性
5.1.3 実験管理ツール
5.2 Hydraによるパラメータ管理
5.2.1 Hydraの概要
5.2.2 Hydraのインストール
5.2.3 Hydraの基本機能
5.2.4 Hydraの実践的な機能
5.3 MLflowによる実験の比較
5.3.1 MLflowの概要
5.3.2 MLflowのインストール
5.3.3 MLflow Trackingのコンセプト
5.3.4 MLflow Trackingによる実験管理
5.4 まとめ
第6章 プロトタイプ開発
6.1 プロトタイプ開発の意義
6.1.1 プロトタイプ開発とは
6.1.2 データサイエンティストに求められるアウトプット
6.1.3 プロトタイプ開発の利点
6.1.4 アプリケーションフレームワークの種類
6.2 Streamlitによるプロトタイプ開発
6.2.1 プロトタイプの紹介
6.2.2 Streamlitの概要
6.2.3 Streamlitのインストール
6.2.4 Streamlitによるシンプルなアプリケーションの作成
6.2.5 Streamlitの機能・コンポーネントの紹介
6.2.6 プロトタイプの作成
6.3 まとめ