Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20250127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティスト から...

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for nash_efp nash_efp
January 27, 2026

20250127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティスト からの指南書/author's_commentary_ds_instructions_guide.pdf

■資料について
2026年1月27日のForkwell Library #118での登壇資料です。
https://forkwell.connpass.com/event/379530/

■共同発表者
・浅野 純季(https://x.com/nash_efp
・田中 冬馬(https://x.com/fuyu_quant
・栁 泉穂(https://x.com/suikabar_umai

■書籍リンク
https://gihyo.jp/book/2025/978-4-297-15100-3

■関連リンク
時間内に拾いきれなかったQAにお答えしました!
https://note.com/nash_efp/n/nfeeac1cbf062

Avatar for nash_efp

nash_efp

January 27, 2026
Tweet

Other Decks in Programming

Transcript

  1. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 1章:実務で生き抜くためのエンジニアリングスキル 2章:環境構築 3章:コードの品質管理 4章:データの品質確認 5章:機械学習モデルの実験管理 6章:プロトタイプ開発 2 先輩データサイエンティストからの指南書 (技術評論社 ; 2025) 実践的なエンジニアリングスキルをまとめた書籍を執筆しました!
  2. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 3 自己紹介 浅野 純季(@nash_efp) 株式会社ブレインパッド データサイエンティスト 田中 冬馬(@fuyu_quant) 起業家(?) 栁 泉穂(@suikabar_umai) 株式会社タイミー データサイエンティスト 2019年 2022年 2025年 ブレインパッド に入社 タイミーに入社 LLMアプリケーション 開発など ブレインパッド に入社 ブレインパッド に入社 前職で DSになる プロジェクトマネジメントデータ マネジメント 分析、効果検証など 起業準備と 研究活動
  3. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 本発表について 4 本発表を通して、書籍の概要を掴む ことができる ※ 詳細な解説とハンズオンで学ぶには、ぜひ書籍をお買い求めください! データサイエンティストが 実務で求められるエンジニアリングスキル を、 書籍の内容をもとに執筆者本人が解説 お伝えすること ご利益
  4. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 5 どんな書籍? 執筆者たち自身が「もっと早く知っておきたかった」をまとめた一冊 従来の書籍ではあまり触れられてこなかった データサイエンティストが、現場で直面する 具体的な課題 に対応するためのスキルに特化 本来であれば、 実務で2~3年かけてじっくり培うような知見 を、 この一冊でキャッチアップできる
  5. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 6 QAを募集しています! 共感のコメントも大歓迎です!
  6. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 目次 8 第4章 データの品質確認  4.1 データの品質確認の重要性  4.2 分析開始前のデータ確認  4.3 Panderaによるデータフレームのバリデーション  4.4 データ品質管理の継続的な取り組み 第5章 機械学習モデルの実験管理  5.1 実験管理の意義  5.2 Hydraによるパラメータ管理  5.3 MLflowによる実験の比較 第6章 プロトタイプ開発  6.1 プロトタイプ開発の意義  6.2 Streamlitによるプロトタイプ開発 第1章 実務で生き抜くためのエンジニアリングスキル  1.1 データサイエンティストを取り巻く環境の変遷  1.2 プロジェクトで求められるエンジニアリングスキル 第2章 環境構築  2.1 分析の土台としての環境構築  2.2 リポジトリの構造を整える  2.3 VS Codeでの開発環境の整備  2.4 Dev Container による仮想環境構築  2.5 uv によるパッケージ管理 第3章 コードの品質管理  3.1 Notebookだけのデータサイエンティストからの卒業  3.2 コード品質とは  3.3 品質の高いコードとその実現方法  3.4 コードレビューによる品質管理
  7. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 10 プロジェクトで こういうことありませんか?
  8. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 11 PoC完了!? よーし! 血のにじむ試行錯誤の末、いい感じのモデルができたぞ! プロジェクトメンバーにも共有しよう!
  9. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 12 みんなでこのモデルを使おう! いい感じのモデルができたので、 見てくださいー! いいですよー プロジェクトの メンバー
  10. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 13 多様性の時代 私の環境では動きませんね ... がーん...
  11. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 14 因果応報 再現できない ので、運用に 乗せるのも一苦労ですね... とほほ...
  12. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 15 適切な環境構築ができておらず 作成したコードの再現性がない
  13. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 16 「環境構築」の課題とあるべき姿 ▪ あるべき姿 PoCにて環境を構築する時点で、運 用を見据えた再現性を担保する 2章「環境構築」 にて解説 ▪ 実務でよくある課題 適切な環境構築ができていないため、 コードの再現性がない
  14. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 17 ほかにもこういうことは ありませんか?
  15. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 18 データサイエンティストが実務で直面する課題 「とにかく動けばよい」で 書いたコードに後から苦しむ 実務で扱うデータの、予期せぬバ グや欠損に苦労する 試行錯誤をするも、上手くいった 過去の結果を再現できない 分析結果やモデルが 意思決定まで結びつかない 対応方法を各章で解説 3章:コードの品質管理 4章:データの品質確認 5章:機械学習モデルの実験管理 6章:プロトタイプ開発
  16. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 19 なぜこういったことが起 こるのか
  17. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 20 「実務で初めて直面する課題」が発生する原因 データサイエンティストが スキルを習得するプロセス データサイエンスプロジェクト特 有の難しさ コードの品質や運用管理 を見据えた実装を 学ぶ優先順位が低い まずは「理論を正しく実装できること 」が優 先される 多くのデータサイエンティストが初めに学ぶ ことは前処理やモデル構築、それらを Notebookで実行 試行錯誤が前提 にあり、不確実性が高い 元データに不備があったり、誤った結果を 出力してもエラーにはならない 出力した結果を意思決定やサービスに 適用するためには、処理や工夫が必要 である
  18. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 21 いざ実務に取り組んで思ったこと 最初からちゃんと環境構 築をしておかなきゃ コードは綺麗に 書くのは大事だな 実際のデータを触るときは気 を付けることが多いな MLモデルの実験管理を ちゃんとしないと 分析結果を使って もらうのは難しいな
  19. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 22 いざ実務に取り組んで思ったこと 分析や機械学習の手法を学ぶことも 大事だけれど、実務で学ぶことも多いな
  20. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 23 いざ実務に取り組んで思ったこと みんなも困っているはずだから 実務で学んだことをまとめて書籍にしよう! 第1章 実務で生き抜くためのエンジニアリングスキル  1.1 データサイエンティストを取り巻く環境の変遷  1.2 プロジェクトで求められるエンジニアリングスキル 第2章 環境構築  2.1 分析の土台としての環境構築  2.2 リポジトリの構造を整える  2.3 VS Codeでの開発環境の整備  2.4 Dev Container による仮想環境構築  2.5 uv によるパッケージ管理 第3章 コードの品質管理  3.1 Notebookだけのデータサイエンティストからの卒業  3.2 コード品質とは  3.3 品質の高いコードとその実現方法  3.4 コードレビューによる品質管理 第4章 データの品質確認  4.1 データの品質確認の重要性  4.2 分析開始前のデータ確認  4.3 Panderaによるデータフレームのバリデーション  4.4 データ品質管理の継続的な取り組み 第5章 機械学習モデルの実験管理  5.1 実験管理の意義  5.2 Hydraによるパラメータ管理  5.3 MLflowによる実験の比較 第6章 プロトタイプ開発  6.1 プロトタイプ開発の意義  6.2 Streamlitによるプロトタイプ開発
  21. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 24 執筆の背景 機械学習の理論や分析手法に関する良書はたくさんある が、いざ実務に入ると 「理論だけでは解決できない壁」にぶ つかることが本当に多いんです。 この本には、私たちがこれまで現場で経験してきた 「こういうことを、誰か最初に教えてくれたらよかったの に!」という実践的な知見を詰め込みました。 “ “ 執筆者インタビューより 【書籍出版記念】データサイエンティストの「こういうことを教えて欲しかった」を1冊に! 実践知を体系化した指南書の裏側を執筆陣が語る - Platinum Data Blog by BrainPad ブレインパッド]
  22. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 26 多くの書籍では「環境構築」は 10ページ程度 本書では、プロジェクトを 成功に導くための基盤と考え 38ページにわたり解説
  23. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 27 環境構築の重要性 適切な環境構築を行うことで、トラブルに追われることなく価値を生み出す業務 に専念できる 適切でない環境構築 適切な環境構築 • 同じコードでも異なる挙動になる • チームでの連携がスムーズに進まない • 再現性が確保され分析の信頼性が向上 • 無駄なトラブルを減らし、本質的な業務に 専念できる
  24. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 28 • リポジトリ構成 • 環境構築に用いるツール(Dev Container、uv)
  25. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 29 • リポジトリ構成 • 環境構築に用いるツール(Dev Container、uv)
  26. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 30 リポジトリ構造を整えるメリット 適切なリポジトリ構造にすることでチームでの連携や長期的な運用がしやすく なる 全体像の理解が容易 プロジェクトの全体像や構造を把握しやすくなり認識の共有がス ムーズになる チーム開発の分担がしやすい 実装の責任範囲が明確になり、変更時のコンフリクトが抑制でき る 保守・拡張がしやすい 仕様変更や機能追加の際にも柔軟に対応できるため、技術的 負債の蓄積を避けられる 自動化ツールの導入・運用がしやすい CI/CDツールなどを導入しやすく運用効率を高められる
  27. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 31 本書で紹介しているリポジトリ構造 本書ではデータサイエンスプロジェクトに取り組む 上で、汎用的かつ扱いやすい ディレクトリ構成の実 装を用意しました。 ※ 各フォルダーの役割については書籍内で詳しく解説しております ので、ぜひご参照ください。
  28. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 32 • リポジトリ構成 • 環境構築に用いるツール(Dev Container、uv)
  29. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 33 Dev Container Dev ContainerとはVS Codeの拡張機能であり、Dockerコンテナを使って開発 環境を構築する仕組みです
  30. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 34 Dockerについて Dockerはアプリケーションが動作するのに必要な環境を一つにまとめ、管理・ 配布するための仮想化技術です 以下の特徴により再現性の高い環境が作れる • OSレベルから環境を作成できる • OSの設定や依存関係を一つにまとめられる • Dockerfileによる環境構築手順のコード化
  31. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 35 Dev Containerにできること 開発時の実行環境やVSCodeの設定を共通化できる VSCodeの設定 • リンターフォーマッターの設定などを共通化 VSCodeの拡張機能 • プロジェクト全体で共通利用する拡張機能を設定 VSCodeのデバッガの設定 • 開発者間で共通のデバッグ環境を作成できる 実行環境の共通化 VSCodeの設定の共通化 OSレベルから共通の実行環境を作成で きる OSの共通化 必要な言語やツールの共通化
  32. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 36 uv • 近年注目されているPythonのパッケージと仮想 環境を統合的に扱うツール • Rust製で非常に高速 ◦ 管理するパッケージが多くなっても快適!
  33. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 37 パッケージマネージャの比較 uvはパッケージ管理機能以外にも多くの機能を有しており、非常に高速で動作 する ツール 特徴 pip 最も基本的なパッケージインストーラ Pythonの標準機能として利用可能 Poetry パッケージ管理だけではなく、仮想環境管理・依存関係を自動で解決・ パッケージ公開などの機能も備わっている uv Poetryの機能をカバー Rust製で非常に高速(pipの10~100倍高速) ※ uvはバージョンが0.9.27(2026/1/27)でメジャーバージョンが0であるためプロジェクトで使う場合には以下の可能性に注意する必要があります。 ▪ 安定性が保証されていない ▪ リリース準備前 ▪ 未完成または試験的な利用
  34. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 38 uvにできること uvはPython開発において重要となる以下の機能を備えている Pythonパッケージの管理 管理しているPythonパッ ケージやPythonのバージョ ンを紐づけた、仮想環境を 作成できる 開発したコードをPython パッケージの形式にまとめ PyPI(Pythonのパッケージ 共有サービス)に保存するこ とができる 仮想環境の構築 Pythonのバージョン管理 Pythonパッケージの作成    3.11    3.12 複数のPythonのバージョン を管理することができる 管理 ・ ・ ・ Pythonパッケージをバー ジョンを指定して管理するこ とができる
  35. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 40 • Notebook vs Python Script • 品質の高いコードとその実現方法 • コードレビューによる品質管理
  36. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 41 • Notebook vs Python Script • 品質の高いコードとその実現方法 • コードレビューによる品質管理
  37. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 42 データサイエンティストに求められる価値の変化 求められる役割が変化しNotebookだけで価値を出しにくい状況になった Notebookの限界 • 実験的なコードと完成版コードの混在 • 構造化の難しさとコードの複雑化 • チーム開発やGit管理の難しさ • データの探索や分析 • PoC • 業務レベルでの開発 • 長期的な運用 今まで求められていたスキル 追加で求められるスキル
  38. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 43 なぜこういったことが起 こるのか “Notebookだけ”の データサイエンティストから 卒業しよう 書籍の裏テーマ になっています!!
  39. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 44 Notebook vs Python Script NotebookとPython Scriptの適した用途を理解し使い分けることが重要 VS メリット • インタラクティブに扱え、試行錯誤を繰り返しやすい 適した用途 • 探索的データ分析 • データの可視化 • スピードが求められるアドホックな対応 Notebook メリット • 再現性が高い • バージョン管理がしやすい • コード全体の構造化や再利用が容易 適した用途 • データ前処理 • 機械学習モデルの開発 • プロトタイプ開発 Python Script
  40. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 45 Python Interactive Window Python Interactive Windowの公式ドキュメント: https://code.visualstudio.com/docs/python/jupyter-support-py • VS Code上でPython ScriptをNotebookの ように部分的に実行できる機能 • 「# %%」を付けるだけで簡単に利用できる ※ PythonとJupyterの拡張機能のインストールが必要です
  41. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 46 • Notebook vs Python Script • 品質の高いコードとその実現方法 • コードレビューによる品質管理
  42. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 47 データサイエンティストが意識すべきコード品質 Correct Clear Concise 正確であること 明確であること 簡潔であること 想起される振る舞いと 実際の挙動との整合性 誰が読んでも 理解できるわかりやすさ バグを埋め込まない ようなシンプルさ
  43. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 48 関数を実装する上で気をつける観点 関数を実装する際は 参照透過性・副作用の排除・関数の大きさ に注意 観点 満たすべき条件 違反する例 参照透過性 同じ入力に対して同じ出力を返すこと 引数を介さずグローバルな設定値 (学習率など)を参照している 副作用の排除 関数の外側の状態を変更しないこと 引数で渡された pd.DataFrame を関数内 で直接書き換える(inplace=True) 関数の大きさ 関数が持つ処理が大きすぎないこと 一つの関数で「欠損処理」「正規化」など複 数の複雑な処理を行っている
  44. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 49 クラスの基本 クラスは乱用せず、オブジェクト指向を意識した実装を心掛ける カプセル化 内部のデータを外部から隠蔽し 外部に対しては正しい使い方(メソッド)だけを提供すること 継承 親クラスの機能を引き継いでコードの再利用性を高めること (※ 乱用に注意!!) ポリモーフィズム オブジェクトの種類に応じて 同じ使い方でも異なる振る舞い行わせること
  45. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved from abc import ABC, abstractmethod import lightgbm as lgb import pandas as pd from sklearn.linear_model import LinearRegression class ModelInterface(ABC): @abstractmethod # 抽象メソッド(継承するクラスに実装を強制する) def train(self, X: pd.DataFrame, y: pd.Series) -> None: pass class LinearRegressionModel(ModelInterface): def __init__(self) -> None: ... def train(self, X: pd.DataFrame, y: pd.Series) -> None: ... class LightGBMModel(ModelInterface): def __init__(self, params: dict[str, Any]) -> None: ... def train(self, X: pd.DataFrame, y: pd.Series) -> None: ... 50 ポリモーフィズムを意識したクラスの実装例 同じインターフェースに沿った実装により ロジックを交換可能に(Strategyパターン)
  46. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 51 データサイエンティストに向けた関数とクラスの使い分け 独立した処理は関数、状態を持つ振る舞いが必要な場合はクラスを使う 特徴 ユースケース 関数 状態・データを持たない 独立した処理を行いたい場合 • データの前処理など クラス データと処理をまとまりとして扱える データと操作が密に絡み合う場合 • MLモデルなど • クラスはインスタンス変数を通してメソッド間に暗黙的な依存関係を作りがち • 複数の処理をまとめるだけであればモジュール化(単一の .py にまとめる)が有効
  47. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 52 品質の高いコードを書くために 書籍ではコード品質に関わるような以下のようなトピックにも触れています! 命名 コメントの 書き方 コーディング規約 Ruff mypy pytest
  48. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 53 • Notebook vs Python Script • 品質の高いコードとその実現方法 • コードレビューによる品質管理
  49. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 54 データサイエンティストにとってのコードレビュー PoCから開発へスムーズに進むためにレビューを通した品質担保が重要 • オレオレコーディング • 過去にした変更の内容を思い出せない コードレビューがない状態 △ 品質管理が個人に閉じ属人化 • コードの品質を見直す機会ができる • 変更やその意図を追跡できる コードレビューがある状態 ◯ チームでコード品質に責任を持てる
  50. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 55 コードレビュー|ブランチ戦略を取り入れる 軽量なGitHub Flowによる運用を通してコードレビューを組み込む GitHub Flow = main + featureブランチでの運用 • main:安定したコードベース • feature:追加する機能に対応する作業場 feature-a feature-b main
  51. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 56 コードレビュー|レビューの心得 自分のコードには自分が責任を持つ テストなどによりロジックの正確さは自身で担保 コミット・PRの意図を明確化する 適切な粒度、コミットメッセージ レビュアーへの要望の明示する PRテンプレート機能の活用 レビュイーの心得 レビューコメントの意図を明確化する prefixによる要求の明示(MUST / IMOなど) ポジティブなフィードバックもする レビューは賞賛の場でもある レビュー以外の選択肢も持つ 輪読会やペアプロを通したスキルの土台づくり レビュアーの心得 レビュイー・レビュアーの双方が自身の役割を理解することが重要
  52. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 57 コードレビュー|チームでの効果的な運用を目指して 完璧にこだわらず許容する QCDのバランスを意識する ガイドラインを策定する レビュアー・レビュイーの期待と役割を明示する 迷ったときは目的に立ち返る ときにはルール自体を変える柔軟さを
  53. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 現場のデータは汚い 59 多くの現場ではデータ品質に問題がある前提で分析を進める必要がある ・・・ 収 集 加 工 蓄 積 データ発生 データ整備 データ分析 △ 他部門の領域、干渉しづらい ◯ データを触って確認 DS
  54. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 現場のデータは汚い 60 多くの現場ではデータ品質に問題がある前提で分析を進める必要がある ・・・ 収 集 加 工 蓄 積 データ発生 データ整備 データ分析 △ 他部門の領域、干渉しづらい ◯ データを触って確認 DS Controllable
  55. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 61 データ品質の評価軸(参考) 評価軸 説明 具体例 有効性 データの値が定義された領域の値と一致しているか 年齢に負の値がないか 完全性 必要なデータがすべて存在しているか 指定した全期間のデータが揃っているか 一貫性 データの内容に矛盾や食い違いがないか カラムの中で値に表記揺れがないか 整合性 データがビジネスルールや制約に基づいて正しく 関係付けられているか 複数テーブル間でID情報が正しく連携できているか 最新性 データが現実世界の最新の状態を反映しているか 顧客マスタは最新のデータであるか 妥当性 データパターンが期待に合致しているか 年齢の分布が感覚値と大きな乖離がないか 一意性 同じ実体を表すデータが、同じテーブル内に複数 存在していないか 重複しているレコードはないか
  56. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 62 データ加工時の品質担保 データの加工が意図した通りに行われていることを担保する必要がある 生データ 前処理 MLモデル の学習 カラムの値としてnullを許容できるか? 想定している範囲の値を取っているか?
  57. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 63 Panderaによるデータフレームのバリデーション Panderaによるバリデーションを通してデータが期待する制約を満たしているこ とを担保する import pandera as pa from pandera.typing import DataFrame from .consts import MAX_PREDICT_DAYS from .schema import InferInputSchema, TaxiDatasetSchema @pa.check_types def preprocess_for_infer( df: DataFrame[TaxiDatasetSchema], max_predict_days: int = MAX_PREDICT_DAYS, ) -> DataFrame[InferInputSchema]: ... # dfをdf_resultに変換する処理 return df_result バリデーションの実行 import numpy as np import pandas as pd import pandera as pa from pandera.typing import Index, Series class TaxiDatasetSchema(pa.DataFrameModel): date: Series[np.datetime64] area: Series[pd.CategoricalDtype] num_trip: Series[int] class InferInputSchema(pa.DataFrameModel): ... スキーマの定義
  58. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 64 上流からの改善 データに触れ品質をもっともよく理解しているDSだからこそ、品質の 根本解決に寄与する価値が高い ・・・ 収 集 加 工 蓄 積 データ発生 データ整備 データ分析 DS データ基盤チーム 品質に関する FB • データ基盤チームへとの継続的な連携 • データの品質に責任を持つ組織の組成 (組織的な解決が必要なことも)
  59. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 66 5章 機械学習モデルの実験管理 実験管理 = 試行錯誤を安全かつ効率的に回すためのプロセス • PoCでは試行錯誤がつきもの ◦ ハイパーパラメータの調整、プロンプトチューニング、etc… • 適切な実験管理をしないとトレーサビリティと再現性の欠如を招く ◦ 「どこに何を記録したかわからない....」 ◦ 「過去のうまくいった実験設定を再現できない....」 書籍では代表的な実験管理ツールとして Hydra と MLflow について紹介
  60. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 67 6章 プロトタイプ開発 • データサイエンティストの役割は分析を通してユーザーに価値を届けること • プロトタイプはユーザーに価値を提供するためのアプローチの一つ ◦ 迅速なフィードバックの獲得 ◦ 認識齟齬のリスク低減 ◦ 実現可能性の検証 ◦ 安心感やワクワク感の提供 プロトタイプはユーザーに分析結果の価値を届けるための新しい形 として注目されている 書籍ではWebアプリを作成できるフレームワーク Streamlit について紹介
  61. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 71 執筆プロセスの全体像 企画書作成 原稿執筆 組版・校閲 出版 執筆する書籍のコンセ プトを固めるフェーズで す。 書籍のコンセプトや ターゲット層、具体的 な章の構成などを企画 書として整理し、出版 社に提出します。 企画が無事通れば、 執筆作業開始です。 随時、出版社の担当 者の方にもフィードバッ クを頂きつつ、原稿を 書き上げます。 完成原稿を実際の書 籍のレイアウトに落と し込みます(この作業 を組版と言います)。 組版後は執筆者と出 版社の間で複数回の 修正を往復し、最終的 に内容がfixされます。 確定した原稿が印刷 所へ入稿され、製本さ れます。 そして、全国の書店に 配本され晴れて刊行と なります。
  62. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 72 本書の場合のスケジュール 企画書作成 原稿執筆 組版・校閲 出版 執筆内容のボリュームや作業にかけられるリソースにもよりますが、 今回執筆した書籍はこのようなスケジュールで進みました 2024年5月 2024年7月 2025年6月 2025年8月 ~ ~ ~ なんだかんだで、1年以上かけて出版...
  63. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 73 原稿管理はGitHub 共同で執筆作業を進めるにあたり、GitHubでMarkdown形式の原稿を管理 安全にバージョン管理 • 試行錯誤が容易、簡単に復元可能 • 執筆途中に出版社へのレビューする際は、Git Tagでスナップショットを 記録 Pull Requestを通した レビューフローの確立 • 各章ごとにレビュー担当者をアサインし、PRを通してレビュー • PRのテンプレート機能やGitHub ActionsによるCIなどで、 執筆内容を標準化 原稿とサンプルコードを 併せて管理 • コードと原稿を一元管理 • 本文と参照コードの内容の乖離を防ぎながら進行 GItHubでの管理によるメリット
  64. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 74 レビュープロセスの詳細 1:非同期レビュー 各章の担当者で実施 2:同期レビュー(通称:ワイワイレビュー) 週1回集まり、メンバー全員で通読 気になるところを指摘し合う   1.と2.を繰り返してブラッシュアップ 同期・非同期の両方で実施 印刷して読むと、表現の違和感や論理構造の ミスに気づきやすい (Markdownを画面上で縦にスクロールして読 むと、目が滑る) 原稿作成段階で少なくとも一度は印刷すること を推奨 紙面でも確認
  65. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 75 ほかにも執筆ノウハウをブログにまとめています [初めての技術書執筆で学んだ実践ノウハウ ] @ suikabar(栁) https://zenn.dev/suikabar/articles/24fa9c2fe999f3
  66. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 80 2/10(火)にトークイベントをします!@新橋/汐留
  67. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 81 ほかにも主催Meetupが2月と3月にあります!ぜひご参加ください! 2026年3月5日(木) 白金鉱業Meetup Vol.22   Geoデータ編 (位置情報 •地理空間) 2/26(木)生成 AI会 @お台場 3/5(木)白金鉱業 Meetup @六本木一丁目
  68. Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi

    All Rights Reserved 83 参考 執筆者が書籍に込めた思いを語ったり、読者からの反応を載せています! [先輩データサイエンティストからの指南書 | 技術評論社] https://gihyo.jp/book/2025/978-4-297-15100-3 [「先輩データサイエンティストからの指南書」の感想まとめ - posfie] https://posfie.com/@nash_efp/p/VMShgtZ [書評ブログまとめ:先輩データサイエンティストからの指南 書|アサノ / asano] https://note.com/nash_efp/n/n344930f80766 [【2025/08/27発売】書籍「先輩データサイエンティストから の指南書」を執筆しました|アサノ / asano] https://note.com/nash_efp/n/n0d0ed1590790 [初めての技術書執筆で学んだ実践ノウハウ] https://zenn.dev/suikabar/articles/24fa9c2fe999f3 [【書籍出版記念】データサイエンティストの「こういうことを教 えて欲しかった」を1冊に!実践知を体系化した指南書の裏 側を執筆陣が語る - Platinum Data Blog by BrainPad ブレ インパッド] https://blog.brainpad.co.jp/entry/2025/09/10/150042