Instiq
第1章 · データエンジニアリング·v2.1.0·更新 2026/6/14·読了目安 約11分

変更要約: in-scope サービス網羅: 中核サービスの解説を追加

1.2データの変換と特徴量の準備

この節の要点

使える形に整える——Glue ETLデータカタログData Wrangler特徴量エンジニアリングFeature Store——を理解します。良い特徴量がモデルの質を決めます。

生データはそのままでは学習に使えません。クリーニング・変換・特徴量化で整えます。AWS では GlueSageMaker Data Wrangler が活躍します。

1.2.1変換と特徴量

データの変換と準備を示した図。S3 の生データ(雑然・型が混在)を AWS Glue ETL(クリーニング・結合・重複排除、データカタログでスキーマ管理、SageMaker Data Wrangler も利用可)で整え、特徴量(エンコード・スケーリング・欠損補完、Feature Store で再利用、学習と推論の整合性)にする流れを示し、凝ったモデルより良い特徴量が重要であることを示した図。
データの変換と準備
  • Glue ETL:サーバーレスでクリーニング・結合・変換を行い、データカタログでスキーマを管理する。
  • Data Wrangler:SageMaker で視覚的にデータ準備・特徴量化できるツール。
  • 特徴量エンジニアリングエンコード(カテゴリ→数値)・スケーリング・欠損値補完などで質を上げる。
  • Feature Store:特徴量を保存・共有・再利用し、学習と推論で同じ特徴量を使えるようにする。
試験ポイント

「サーバーレス ETL/スキーマ管理=Glue(データカタログ)」「視覚的なデータ準備=SageMaker Data Wrangler」「特徴量の保存・共有・再利用=Feature Store」「学習と推論で同じ特徴量=train/serve の整合性」 は MLS-C01 で頻出です。良い特徴量はモデルの精度を大きく左右します。

MLS-C01 では具体的な特徴量変換テクニックとデータ品質の扱いが深く問われます。カテゴリ変数は、順序のない名義変数なら One-Hot エンコーディング、高カーディナリティ(取りうる値が多い)なら次元爆発を避けるためターゲット/頻度エンコーディングや埋め込みを使い、順序のある変数だけラベルエンコーディングにします。数値はアルゴリズム依存で、距離や勾配に敏感な手法(線形/SVM/KNN/NN)は標準化(平均0・分散1)/正規化(0-1)が要りますが、決定木系(XGBoost 等)はスケールに不変なので不要です。欠損値は、単純な平均/中央値/最頻値補完のほか、欠損自体を示すフラグ列を足すと「欠損であること」が情報になる場合があります。歪んだ分布には対数変換、連続値のビニング(離散化)、テキストには TF-IDF や Bag-of-Words・トークン化、画像には正規化・データ拡張を適用します。外れ値は IQR や標準偏差で検出し、除去かクリッピングを判断します。クラス不均衡(不正検知など)は、SMOTE などのオーバーサンプリング/アンダーサンプリング・クラス重み付けで対処し、評価は正解率ではなく適合率/再現率/AUC を見ます。これらの変換は Data Wrangler で視覚的に組み、エクスポートして Processing Job や Pipelines で再現でき、確定した特徴量は Feature Store のオンライン(低遅延推論用)/オフライン(学習用)ストアに格納して学習と推論の不一致(train/serve skew)を防ぎます。

データ/状況代表的な変換注意点
名義カテゴリ(低カーディナリティ)One-Hot エンコーディング高カーディナリティは次元爆発
高カーディナリティターゲット/頻度・埋め込みリークに注意(CV 内で算出)
スケール差のある数値標準化・正規化木系は不要・線形/NN は必要
クラス不均衡SMOTE/重み付け正解率でなく適合率/再現率/AUC
補足

シナリオ:不正取引検知で正例が 0.5% しかなく、正解率 99% でも全部「正常」と予測しているだけで使い物にならない。→ オーバーサンプリング(SMOTE)やクラス重み付けで不均衡に対処し、評価指標を正解率から適合率/再現率/F1/PR-AUC に切り替える。閾値も業務コスト(見逃しコスト>誤検知コスト等)に合わせて調整する。

補足

FAQ:Q. 標準化はいつ必要? A. 線形/SVM/KNN/ニューラルネットなど距離・勾配に敏感な手法で必要。XGBoost 等の木系は不要。Q. ターゲットエンコーディングの落とし穴は? A. 目的変数を使うためリークしやすい。交差検証の中でフォールドごとに算出する。Q. 学習と本番で特徴量がずれる? A. Feature Store のオンライン/オフラインストアで同じ定義を共有し train/serve skew を防ぐ。

注意

ひっかけ:「正規化や欠損補完は全データに対して先にまとめて行えばよい」は誤り。テストデータの統計(平均・分散・最頻値)を使って学習前に変換するとデータリークになり、評価が楽観的になる。スケーラや補完値は学習データだけで fit し、その変換をテスト/本番に適用する(Pipelines で固定化)。

1.2.2この節のまとめ

  • 変換=Glue ETL(+データカタログ)/Data Wrangler
  • 特徴量=エンジニアリング+Feature Store で再利用

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. S3 の生データをサーバーレスでクリーニング・変換し、スキーマをカタログで管理したい。何を使いますか?

Q2. 作成した特徴量を学習と推論の両方で再利用し、整合性を保ちたい。何を使いますか?

Q3. カテゴリ変数を数値に変換したり、特徴量のスケーリングや欠損値補完を行う作業を何と呼びますか?

理解度を確認第1章「データエンジニアリング」の問題を解く