変更要約: in-scope サービス網羅: 中核サービスの解説を追加
1.2データの変換と特徴量の準備
使える形に整える——Glue ETL、データカタログ、Data Wrangler、特徴量エンジニアリング、Feature Store——を理解します。良い特徴量がモデルの質を決めます。
生データはそのままでは学習に使えません。クリーニング・変換・特徴量化で整えます。AWS では Glue や SageMaker Data Wrangler が活躍します。
1.2.1変換と特徴量
- 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. カテゴリ変数を数値に変換したり、特徴量のスケーリングや欠損値補完を行う作業を何と呼びますか?

