Open1
Amazon SageMaker XGBoost
Amazon SageMaker XGBoost
概要
- **XGBoost(勾配ブースティング決定木)**を、Amazon SageMaker上で学習から推論まで一貫して利用できます。
- SageMakerはMLの構築・学習・デプロイをフルマネージドで提供し、インフラ運用を省力化できます。
できること
- 回帰・二値分類・多クラス分類・ランキングに対応します。
- CPU/GPUインスタンスや分散学習を活用して大規模データを処理できます。
- 組み込みアルゴリズムとしても、オープンソースXGBoostコンテナとしても利用できます。
特徴(押さえ所)
- 高い予測精度を実務とコンペの両面で実証できます。
- 正則化(L1/L2)やサンプリングで過学習を抑えやすいです。
- 特徴量重要度を可視化でき、解釈性を確保できます。
- 学習・ハイパラ探索・デプロイ・推論をSageMakerで一気通貫に運用できます。
代表ユースケース
- 分類:離反(チャーン)予測、不正検知。
- 回帰:価格予測、需要予測・在庫最適化。
- ランキング:検索結果やレコメンドの順位付け。
入出力(学習/推論)
項目 | 学習の入力 | 学習の出力 | 推論の入力 | 推論の出力 |
---|---|---|---|---|
形式 | S3上の CSV / LibSVM / RecordIO(CSVは先頭列=ラベルが基本です) | モデルアーティファクト(.tar.gz) | CSV/JSON(エンドポイントへ送信) | 予測結果(CSV/JSON) |
保存先/経路 | Amazon S3 | Amazon S3(モデル登録→デプロイ) | SageMakerエンドポイント | エンドポイントのレスポンス |
LibSVMはスパースデータに適しています。
学習済みモデルは SageMaker Model に登録してエンドポイントへデプロイします。
主要ハイパーパラメータ(最小セット)
-
objective
:reg:squarederror
/binary:logistic
/multi:softprob
(多クラスはnum_class
必須です)。 - 学習制御:
num_round
、eta
(学習率)、max_depth
。 - 正則化/分割:
min_child_weight
、gamma
、lambda
(L2)、alpha
(L1)。 - サンプリング:
subsample
、colsample_bytree
。 - **HPO(ハイパーパラメータ最適化)**と組み合わせて自動探索を実施できます。
使い方(最短フロー)
- データを前処理してS3へアップロードします(CSVは先頭列=ラベルにします)。
- XGBoost Estimatorを作成して
fit()
にS3のデータパスを渡します(検証チャネルを推奨します)。 -
deploy()
でリアルタイム推論のエンドポイントを作成します。 - テストデータを送信して予測結果を取得し、指標と重要度を確認します。
運用の要点
- 検証データを渡して 早期終了(early stopping) を有効化します。
- 過学習対策として
eta
を下げてnum_round
を増やし、max_depth
を抑えます。 - 分散学習やGPUを活用して学習時間を短縮します。
- バッチ推論(Batch Transform)とリアルタイム推論を用途で使い分けます。
試験ポイント(AWS MLS / G検定)
- AWS MLS:SageMakerの組み込みアルゴリズムであること、表形式に強いこと、HPOとエンドポイント運用、分散学習やGPU対応を理解します。
- G検定:勾配ブースティングによるアンサンブル学習で汎化性能が高いこと、木ベースで非線形関係を扱えることを説明できます。
一言まとめ
- SageMaker XGBoostは、表形式データの定番高性能モデルを、学習から本番推論までマネージドに素早く回せる実務向け構成です。