- 1 1. はじめに — D1「データ準備・特徴量エンジニアリング」とは
- 2 2. データ準備パイプラインの全体像
- 3 3. データ形式と最適なストレージ選択
- 4 4. ETL・データパイプライン — Glue・Athena・Lake Formation
- 5 5. ストリーミングデータ取込 — Kinesis・MSK
- 6 6. 特徴量エンジニアリング — Data Wrangler と Feature Store
- 7 7. 前処理テクニック — 欠損値・外れ値・エンコーディング・スケーリング
- 8 8. データ不均衡への対処
- 9 9. データラベリング — Ground Truth
- 10 10. データのプライバシー — PII検出と保護
- 11 11. まとめ — Vol2「モデル開発」へ
1. はじめに — D1「データ準備・特徴量エンジニアリング」とは
本記事は「AWS MLA-C01試験対策」シリーズの Vol1 です。
まだ全体像をつかんでいない方は、4ドメインの俯瞰とサービスマップを解説した Vol0 ロードマップ を先にお読みください。
ここから扱うのは試験の第1ドメイン、D1「データ準備(Data Preparation)」 です。
公式試験ガイドにおける出題比率は 28% で、65問換算なら約18問、4ドメインのなかで 最大の比重 を占めます。
機械学習(ML)の世界には「Garbage In, Garbage Out(ゴミを入れればゴミが出る)」という言葉があります。
どれほど高度なアルゴリズムを使っても、入力データの質が悪ければ良いモデルは生まれません。
だからこそ AWS は、データをどう取り込み・整形し・特徴量へ変換するかという D1 を最重視しているのです。
- D1で問われる範囲とデータパイプラインの全体像(§1〜§2)
- S3のデータ形式選択(Parquet/ORC vs CSV)の判断基準(§3)
- Glue・Athena・Lake Formation によるETLの使い分け(§4)
- Kinesis 三兄弟と MSK によるストリーミング取込(§5)
- Data Wrangler・Feature Store と前処理テクニック(§6〜§7)
- 不均衡データ・データラベリング・PII対策の頻出論点(§8〜§10)
1-1. D1の出題範囲を一望する
D1 は範囲が広く、初学者がもっとも迷子になりやすいドメインです。
しかし問われるテーマは大きく次の6つに整理できます。
本記事はこの6テーマを順番に解説していきます。
| # | テーマ | 代表サービス |
|---|---|---|
| 1 | データ形式・ストレージ | S3 / Parquet / ORC |
| 2 | ETL・データパイプライン | Glue / Athena / Lake Formation |
| 3 | ストリーミング取込 | Kinesis Data Streams / Firehose / MSK |
| 4 | 特徴量エンジニアリング | Data Wrangler / Feature Store |
| 5 | データ品質・不均衡対処 | SMOTE / クラス重み / Glue Data Quality |
| 6 | ラベリング・プライバシー | Ground Truth / Macie / Comprehend |
- 「サービス名の暗記」ではなく「どの場面でどれを選ぶか」という使い分けを意識しましょう。試験はシナリオ形式で最適サービスを問います
- S3 はほぼ全テーマに登場する基盤です。データ形式と圧縮の知識は確実な得点源になります
- 「バッチ vs ストリーミング」「サーバーレス vs クラスター」という対比軸で覚えると整理しやすくなります
2. データ準備パイプラインの全体像
個々のサービスを学ぶ前に、まず「データがどこを通ってモデルに届くのか」という流れを頭に入れましょう。
全体像が見えていれば、各サービスが「パイプラインのどの工程を担うのか」を見失わずに済みます。

典型的なMLデータパイプラインは、おおむね次の5工程で構成されます。
- 取込(Ingestion) — データベース・ログ・IoT・外部APIなどから生データを集めます。バッチ転送なら AWS Glue や DMS、リアルタイムなら Kinesis を使います。
- 蓄積(Storage) — 集めたデータを Amazon S3 を中心としたデータレイクに貯めます。ここで列指向フォーマット(Parquet)に変換しておくと後工程が速くなります。
- 変換(Transform / ETL) — Glue や Athena で結合・集計・クレンジングを行い、分析しやすい形に整えます。
- 特徴量化(Feature Engineering) — SageMaker Data Wrangler で欠損値補完やエンコーディングを行い、再利用可能な特徴量を SageMaker Feature Store に登録します。
- 学習へ供給(Serving to Training) — 整った特徴量を SageMaker Training ジョブへ渡し、モデル学習を始めます。
この5工程は ML ワークフローの「最初の半分」にあたり、D1 の出題はすべてこのどこかに位置づけられます。
以降の章では工程順に各サービスを掘り下げます。
2-1. バッチ処理とストリーミング処理の使い分け
D1 を貫く重要な対比軸が 「バッチ」か「ストリーミング」か です。
両者は取り込むデータの性質によって選び分けます。
- バッチ処理 — 一定量・一定間隔でまとめて処理する方式。日次の売上集計や過去ログの一括変換など、リアルタイム性が不要な場面に向きます。Glue や Athena が担います。
- ストリーミング処理 — 発生したデータを途切れなく即座に処理する方式。IoTセンサー、クリックストリーム、不正検知のように 鮮度が価値を持つ 場面に向きます。Kinesis や MSK が担います。
設問では「リアルタイムに」「数秒以内に」といった表現があればストリーミング、「日次で」「定期的に」とあればバッチ、と読み解くのがコツです。
3. データ形式と最適なストレージ選択
3-1. なぜ S3 がMLデータの中心なのか
Amazon S3(Simple Storage Service)は、容量無制限・高耐久(99.999999999%)のオブジェクトストレージで、AWS における データレイクの標準基盤 です。
SageMaker をはじめ Glue・Athena・Kinesis のほとんどが S3 を入出力先として扱うため、「MLデータはまず S3 に置く」が鉄則になります。
3-2. Parquet・ORC vs CSV/JSON — 列指向の威力
D1 で最頻出の論点が ファイル形式の選択 です。
ここで鍵になるのが「行指向」と「列指向」の違いです。
- 行指向(CSV / JSON) — 1レコードを横一列に並べて保存します。人間に読みやすく、書き込みが簡単ですが、特定の列だけを読みたいときも全行を走査するため非効率です。
- 列指向(Parquet / ORC) — 同じ列の値をまとめて保存します。「年齢の平均」のように一部の列だけ集計する分析クエリで、必要な列だけを読めるため高速かつ低コストです。
- 列プルーニング: 必要な列だけ読み込むため、Athena のスキャン量(=課金量)が劇的に減ります
- 高い圧縮率: 同じ型のデータが連続するため圧縮が効きやすく、Snappy/GZIP で容量を大幅削減できます
- 述語プッシュダウン: 統計情報を持つため、条件に合わないデータブロックを読み飛ばせます
「分析・ML用途のS3データは Parquet に変換する」と覚えておけば、多くの設問に正答できます。
Parquet と ORC はどちらも列指向で、試験では「列指向フォーマット」としてほぼ同等に扱われます。
細かな違いより「行指向(CSV)→ 列指向(Parquet/ORC)へ変換するとクエリが速くなる」という構図を押さえましょう。
3-3. パーティショニングと圧縮
S3 のデータは、s3://bucket/year=2026/month=06/day=16/ のように パーティション を切っておくと、Athena が不要なパーティションを読み飛ばせます(パーティションプルーニング)。
さらに Snappy(高速)や GZIP(高圧縮)で圧縮すれば、ストレージ料金とスキャン量の両方を抑えられます。
「日付でパーティション + Parquet + Snappy」はML向けデータレイクの定番構成です。
4. ETL・データパイプライン — Glue・Athena・Lake Formation
S3 にデータが貯まったら、次は分析・学習しやすい形に整える ETL(Extract / Transform / Load) です。
D1 では Glue・Athena・Lake Formation の役割分担が頻出します。
4-1. AWS Glue — サーバーレスETLの主役
AWS Glue は、サーバーを管理せずに ETL を実行できるフルマネージドサービスです。
試験では次の3つの構成要素を区別できることが重要です。
| 構成要素 | 役割 |
|---|---|
| Glue Data Catalog | テーブルのスキーマ(列名・型)を一元管理するメタデータの台帳。Athena や Redshift Spectrum もこれを参照します |
| Glue Crawler | S3 などを走査してスキーマを自動推論し、Data Catalog に登録します |
| Glue ETLジョブ | Apache Spark ベースで実際の変換処理(結合・集計・型変換)を実行します |
さらに Glue DataBrew は、コードを書かずにGUIで250種類以上の変換を適用できる ノーコードのデータ準備ツール です。
「プログラミング不要でデータクレンジングしたい」というシナリオでは DataBrew が正解になります。
もう一つ覚えておきたいのが Glue ジョブブックマーク(Job Bookmark) です。
これは前回までに処理した位置を記憶し、新しく追加されたデータだけを差分処理(増分処理) する機能です。
「毎日追加されるログを重複なく ETL したい」という増分パイプラインのシナリオで頻出します。
4-2. Amazon Athena — S3を直接SQLで照会
Amazon Athena は、S3 上のデータに対して サーバーレスで標準SQL を実行できるサービスです。
事前にデータベースへロードする必要がなく、Glue Data Catalog のスキーマを使って S3 を直接クエリします。
課金は スキャンしたデータ量 に対して発生するため、前述の Parquet 化・パーティショニングがそのままコスト削減に直結します。
4-3. AWS Lake Formation — データレイクの権限統制
AWS Lake Formation は、データレイクの構築と きめ細かなアクセス制御 を担うサービスです。
「特定の列(例: 給与)を一部のユーザーにだけ隠す」「行レベルでアクセスを制限する」といった、IAM だけでは難しい テーブル/列/行レベルの権限管理 を実現します。
「データレイクで列単位のアクセス制御をしたい」と問われたら Lake Formation です。
- Glue: サーバーレスでETL本体を回す(Spark変換・カタログ管理)
- DataBrew: ノーコードでデータクレンジング
- Athena: S3をSQLでアドホック分析
- Lake Formation: 列・行レベルのアクセス制御を集中管理
5. ストリーミングデータ取込 — Kinesis・MSK
バッチ処理だけでなく、IoTセンサーやクリックストリームのように 絶え間なく流れてくるデータ をリアルタイムに取り込む場面も出題されます。
ここで主役になるのが Amazon Kinesis ファミリーと Amazon MSK です。

5-1. Kinesis 三兄弟の使い分け
Kinesis には用途の異なる3サービスがあり、その違いが頻出します。
| サービス | 役割 | 特徴 |
|---|---|---|
| Kinesis Data Streams (KDS) | リアルタイムのデータ取込・配信 | ミリ秒の低レイテンシ。シャードで容量管理。データを最大365日保持し、複数コンシューマで処理できる |
| Kinesis Data Firehose | S3/Redshift等への配信(ロード) | フルマネージドでバッファリングし自動配信。形式変換(JSON→Parquet)も可能。コード不要 |
| Managed Service for Apache Flink | ストリームのリアルタイム分析 | 流れるデータに対し集計・異常検知をその場で実行(旧 Kinesis Data Analytics) |
判断の軸はシンプルです。
「とにかくS3へ確実にロードしたい」なら Firehose、「低レイテンシで自前処理したい」なら Data Streams、「ストリームを集計・分析したい」なら Flink です。
「最小の運用でストリーミングデータを Parquet 形式で S3 に保存したい」という典型シナリオでは、形式変換とバッファリングを自動で行う Firehose が正解になります。
5-2. Amazon MSK — Kafka 互換が必要なとき
Amazon MSK(Managed Streaming for Apache Kafka)は、OSS の Apache Kafka をフルマネージドで提供するサービスです。
「既存システムが Kafka を使っている」「Kafka のエコシステム(Kafka Connect等)を活かしたい」という場合に選択します。
新規でAWSネイティブに組むなら Kinesis、Kafka資産があるなら MSK、という整理で十分です。
6. 特徴量エンジニアリング — Data Wrangler と Feature Store
データが整ったら、いよいよモデルが学習しやすい 特徴量(feature) に変換します。
特徴量エンジニアリングとは、生データをモデルの精度が上がる形へ加工する工程の総称です。
6-1. SageMaker Data Wrangler — 前処理の統合環境
SageMaker Data Wrangler は、SageMaker Studio 上で データの取込・可視化・前処理・特徴量化をGUI中心で行える ツールです。
300種類以上の組み込み変換を持ち、欠損値補完・エンコーディング・スケーリングをコードほぼ無しで適用できます。
作成した処理フローはそのまま SageMaker Processing ジョブや Pipeline に組み込めるため、「試行錯誤した前処理を本番パイプラインへ展開する」流れがスムーズです。
6-2. SageMaker Feature Store — 特徴量の一元管理
SageMaker Feature Store は、作成した特徴量を 保存・共有・再利用 するための専用ストアです。
試験では2つのストアの違いが重要です。
| ストア種別 | 用途 | 特徴 |
|---|---|---|
| オンラインストア | リアルタイム推論 | 低レイテンシで最新の特徴量を取得(数ミリ秒) |
| オフラインストア | 学習・バッチ | S3上に履歴を蓄積し、大量データの学習に利用 |
Feature Store の最大の価値は 「学習時と推論時で同じ特徴量計算ロジックを使える」 ことです。
これにより、学習では正規化していたのに推論では忘れた、といった 学習/推論スキュー(training-serving skew) を防げます。
「複数チームで特徴量を共有・再利用したい」「学習と推論の特徴量の一貫性を保ちたい」というシナリオでは Feature Store が答えになります。
7. 前処理テクニック — 欠損値・外れ値・エンコーディング・スケーリング
ここからは、特徴量エンジニアリングの中核となる 具体的な前処理手法 を整理します。
試験では「このデータにはどの処理が適切か」という判断が問われます。

7-1. 欠損値(Missing Values)の扱い
データに空欄があると多くのアルゴリズムは学習できません。対処は主に次の通りです。
- 削除 — 欠損が少なく、その行/列を捨てても情報損失が小さい場合。
- 補完(Imputation) — 平均値・中央値・最頻値で埋める基本手法。数値は中央値、カテゴリは最頻値が定番です。
- モデルによる予測補完 — KNN などで他の特徴量から欠損値を推定する高度な手法。
7-2. 外れ値(Outliers)の扱い
極端に大きい/小さい値はモデルを歪めます。
箱ひげ図やIQR(四分位範囲)、Zスコアで検出し、除去 するか クリッピング(上限・下限で頭打ち) します。
ただし「異常検知」が目的の場合、外れ値こそが価値ある情報なので安易に消してはいけません。目的に応じた判断が問われます。
7-3. カテゴリ変数のエンコーディング
「赤・青・緑」のような文字カテゴリは、数値に変換しないとモデルが扱えません。
| 手法 | 内容 | 使いどころ |
|---|---|---|
| One-Hot Encoding | カテゴリごとに0/1の列を作る | 順序のない少数カテゴリ(色・地域など) |
| Label Encoding | カテゴリに整数を割り当てる | 順序のあるカテゴリ(S/M/L など) |
| Target Encoding | カテゴリを目的変数の平均値に置換 | 高カーディナリティ(種類が非常に多い)な場合 |
One-Hot は分かりやすい反面、カテゴリ数の多いデータでは列が爆発します。その場合は Target Encoding などを検討します。
7-4. スケーリング(特徴量の尺度合わせ)
「年齢(0〜100)」と「年収(0〜1000万)」のように 桁が違う特徴量 をそのまま使うと、距離ベースのアルゴリズム(KNN・SVM)や勾配降下法が大きい値に引きずられます。
- 標準化(Standardization) — 平均0・標準偏差1に変換。外れ値に比較的頑健で、汎用的に使われます。
- 正規化(Normalization / Min-Maxスケーリング) — 0〜1の範囲に収める。値の範囲を揃えたいときに使います。
なお決定木系(XGBoost・ランダムフォレスト)はスケールの影響を受けにくいため、スケーリング不要という点も覚えておくと得点源になります。
- 前処理の順序を意識しましょう。一般に「欠損値 → 外れ値 → エンコーディング → スケーリング」の順で適用します。スケーリングの統計量(平均・標準偏差)は学習データだけから計算し、その値を検証/テストデータにも適用します。テストデータを含めて計算するとデータリークになります
- One-Hot Encoding と「次元の呪い」: カテゴリ数が多いと列が爆発し学習が不安定になります。高カーディナリティでは Target Encoding や埋め込み(embedding)を検討します
- 「正規化」と「標準化」は混同しやすい用語です。標準化=平均0・分散1、正規化=0〜1の範囲、と明確に区別しましょう
8. データ不均衡への対処
不正検知や疾病診断のように、陽性データが極端に少ない タスクでは、何もしないとモデルが多数派ばかり予測してしまいます。
(例: 99%が正常な取引データでは、全件「正常」と答えるだけで正解率99%になってしまい、肝心の不正を見逃します。)
この クラス不均衡(class imbalance) への対処は D1 の頻出論点です。

主な対処法は次の4つです。
| 手法 | 内容 | 注意点 |
|---|---|---|
| オーバーサンプリング | 少数派データを複製して増やす | 単純複製は過学習を招きやすい |
| アンダーサンプリング | 多数派データを減らす | 情報が失われる恐れがある |
| SMOTE | 少数派の近傍を補間し合成データを生成 | 単純複製より過学習しにくい代表的手法 |
| クラス重み付け | 損失関数で少数派の誤分類に大きなペナルティを与える | データ自体は変えずアルゴリズム側で調整 |
不均衡データでは「正解率(Accuracy)」は当てになりません。
少数派をどれだけ正しく検出できたかを測る 適合率(Precision)・再現率(Recall)・F1スコア、
そして PR-AUC(適合率-再現率曲線下面積) で評価するのが定石です。
「不均衡データの評価には Accuracy ではなく F1/PR-AUC を使う」は頻出ポイントです。
9. データラベリング — Ground Truth
教師あり学習には「正解ラベル」が必要ですが、大量データへの手作業ラベル付けは大きなコストです。
ここで使うのが Amazon SageMaker Ground Truth です。
- SageMaker Ground Truth — 人間(自社・Mechanical Turk・外部ベンダー)によるラベリングを管理するサービス。自動ラベリング(active learning) 機能で、機械が確信できるデータは自動分類し、難しいものだけ人間に回すことでコストを削減できます。
- Ground Truth Plus — ラベリング作業そのものを AWS の専門チームに丸ごと委託 できるマネージドサービス。自前でワーカーを管理したくない場合に選びます。
「ラベリングコストを抑えつつ品質を保ちたい」なら自動ラベリング付きの Ground Truth、「運用ごと任せたい」なら Ground Truth Plus、という使い分けです。
10. データのプライバシー — PII検出と保護
最後は、個人情報(PII: Personally Identifiable Information)の取り扱いです。
氏名・住所・クレジットカード番号などをそのまま学習データに含めると、コンプライアンス違反や情報漏えいのリスクになります。
| サービス | 役割 |
|---|---|
| Amazon Macie | S3 内のデータをスキャンし、PII を自動検出・分類する。機械学習でセンシティブデータの所在を可視化 |
| Amazon Comprehend | テキストから PII エンティティ(氏名・メール等)を検出し、マスキング・除去できる自然言語処理サービス |
「S3に保存された大量データからPIIの場所を発見したい」なら Macie、「テキスト本文からPIIを検出・除去したい」なら Comprehend が答えになります。
検出後は、暗号化(KMS)・マスキング・トークン化で保護するのが基本方針です。
11. まとめ — Vol2「モデル開発」へ
本記事では、MLA-C01 の最大ドメイン D1「データ準備・特徴量エンジニアリング」を、パイプラインの流れに沿って体系的に整理しました。
- 分析・ML用途のS3データは Parquet(列指向)+ パーティション + 圧縮 が定番
- ETLは Glue、SQL分析は Athena、列/行レベル権限は Lake Formation
- 確実なS3ロードは Firehose、低レイテンシ取込は Data Streams、Kafka資産は MSK
- 前処理は Data Wrangler、特徴量の共有と学習/推論一貫性は Feature Store
- 不均衡は SMOTE/クラス重み + 評価は F1/PR-AUC
- ラベリングは Ground Truth、PIIは Macie/Comprehend
データという土台が整えば、次はいよいよモデルを「作り・測り・改善する」工程です。
Vol2「モデル開発・評価・チューニング」(D2/26%・公開中) では、SageMaker 組み込みアルゴリズムの選択、自動モデルチューニング(AMT)、評価指標、Clarify によるバイアス検出を解説します。
| Vol | 対象ドメイン | 状態 |
|---|---|---|
| Vol0 ロードマップ | 全体(ハブ) | 公開済 |
| Vol1(本記事) データ準備・特徴量エンジニアリング | D1 (28%) | 公開済 |
| Vol2 モデル開発・評価・チューニング | D2 (26%) | 公開済 |
| Vol3 デプロイ・推論・オーケストレーション | D3 (22%) | 公開済 |
| Vol4 監視・保守・セキュリティ・コスト | D4 (24%) | 公開済 |
知識をインプットしたら、必ず問題演習でアウトプットしましょう。
CertTrend LMS には MLA-C01 の出題範囲を網羅した 400問のオリジナル問題 を収録し、D1 の各論点を本番形式で診断できます。
正答理由だけでなく すべての誤答がなぜ誤りか を AWS 公式ドキュメントに基づいて解説しているため、「わかったつもり」を確実に解消できます。