ふくふくHukuhuku Inc.
EP.15Prep 10分公開: 2026-05-10

前処理パイプラインの再現性:dbt / sklearn Pipeline / Polars LazyFrame

ノートブックで仕上げた前処理を、本番に乗せる。スキーマテスト・データ品質テスト・差分検知。

#pipeline#{{dbt|*}}#再現性
CO📔 Google Colab で開く(上から順にセルを実行)
シェア

「ノートブックで動いてるけど本番に持ち上げられない」は前処理あるある。再現性のあるパイプラインとして整える方法を、ツール別に整理します。

ツール別の前処理パイプライン

ツール向く場面強み
dbt 内で 前処理テスト・ドキュメント自動生成、依存解決
sklearn Pipeline 前処理のコード化Train / Predict で同じ処理を保証
Polars LazyFrame大規模データのメモリ効率10〜100 倍速、Rust ベース
/ Dagsterオーケストレーションスケジューリング・依存・監視

再現性の 3 要件

  1. 1コード化:ノートブックで完結させない、`.py` / `.sql` に
  2. 2バージョン管理 で履歴管理、データ契約(Data Contract)で上流変更を検知
  3. 3テスト:行数・スキーマ・分布の前後比較、 で自動化

sklearn Pipeline + ColumnTransformer

ML 前処理を 1 オブジェクトに
Python
from sklearn.pipeline import Pipelinefrom sklearn.compose import ColumnTransformerfrom sklearn.preprocessing import StandardScaler, OneHotEncoderfrom sklearn.impute import SimpleImputer
preprocessor = ColumnTransformer([    ("num", Pipeline([        ("impute", SimpleImputer(strategy="median")),        ("scale", StandardScaler())    ]), ["age", "income"]),    ("cat", Pipeline([        ("impute", SimpleImputer(strategy="most_frequent")),        ("ohe", OneHotEncoder(handle_unknown="ignore"))    ]), ["country", "category"]),])
pipeline = Pipeline([    ("preprocess", preprocessor),    ("model", LogisticRegression())])
pipeline.fit(X_train, y_train)# Train で学習した補完値・スケーラーが Predict でも自動適用される

Data Contract

上流データのスキーマ変更を検知する仕組み。dbt source freshness + 行数 / 型のテストで「気付かないうちに前処理が壊れた」を防ぐ。 EP.10 のログ設計とも繋がる。

ふくふくの進め方

ノートブックを本番に乗せたい」のご相談には、再現性チェック → パイプライン化 → CI/CD 構築を 1 ヶ月で。シリーズ通読で身につく前処理スキルを、お客様のプロジェクトに移植します。

ここまでのまとめ

EP.01〜15 で前処理の主要工程を一巡しました。「分析の 8 割は前処理」のスキルセットが、皆さんの分析品質を底上げします。

次の話

EP.16 では『時系列の周期性を見つける』。経営層も気づいていない「うちの売上、実は波があるよね」をデータから炙り出し、仕入計画・人員配置・キャンペーン投入時期に直結させる手法を扱います。続編は読者リアクションに応じて随時追加していきます。

シェア

この記事の感想を教えてください

あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。

シリーズの外も探す:

まずは、現状を聞かせてください。

要件が固まっていなくて大丈夫です。現状診断と方針提案までを無料でお手伝いします。

無料相談フォームへ hello [at] hukuhuku [dot] co [dot] jp