これはAWSの記事のパートIIです。前回の記事では、データレイクの構築、データ分析、可視化について説明しました。この記事では、Amazon SageMakerを使用したMLモデルのトレーニングについて説明します。モデルのトレーニングには、パートIで使用したのと同じ顧客離脱データセットを使用します。
まだパートIをご覧になっていない方は、こちらのリンクからご覧いただけます。
この記事を読み終える頃には、SageMakerを使用してエンドツーエンドのMLモデルを構築およびトレーニングできるようになります。

SageMaker を使用した ML モデルのトレーニングのブロック図
Amazon SageMaker
Amazon SageMaker は、Amazon Web Services (AWS) が提供するフルマネージド型の機械学習サービスで、機械学習モデルを大規模に構築、トレーニング、デプロイできます。機械学習ワークフローのあらゆるステップに必要なツールが揃っています。
使いやすさとスケーラビリティの高さから、機械学習タスクで最も人気のあるサービスの一つです。そこで、本稿では SageMaker が提供するサービスを活用してモデルをトレーニングします。
ここでは、SageMaker を用いた機械学習モデルのトレーニングについて、以下の手順を実行します。
1. SageMaker ノートブックインスタンスの作成
2. データ抽出と特徴量エンジニアリング
3. XGBoost モデルの構築とトレーニング
4. トレーニング済みモデルの評価
1. SageMaker ノートブックインスタンスの作成
SageMaker ノートブックインスタンスは、機械学習タスク用のフルマネージド型のインフラストラクチャであり、事前構成済みの環境です。そこで、SageMaker ノートブックインスタンスを作成し、機械学習モデルの構築とトレーニングに使用します。
1.1 Amazon マネジメントコンソールにサインインします。
1.2 検索バーで「SageMaker」を検索して、Amazon SageMaker に移動します。

1.3 [ノートブック] で、[ノートブックインスタンス] に移動し、[ノートブックインスタンスの作成] をクリックして新しいノートブックインスタンスを作成します。

ノートブックインスタンスに名前を付けます。
インスタンスタイプを選択します。
インスタンスタイプとは、ノートブック環境に選択できる仮想ハードウェアの特定の構成を指します。インスタンスタイプごとに、CPU、GPU、メモリ、ネットワークパフォーマンスの量が異なり、コンピューティング能力とストレージ容量のさまざまなニーズに対応します。
注: インスタンスタイプによってコストが異なります。したがって、それに応じて選択してください。ここでは、最も安価で目的に十分な ml.t2.medium を使用します。
IAM ロールを選択します。これまでにロールを作成していない場合、またはこのタスク用に新しいロールを作成する場合は、新しい IAM ロールを作成してください。これは、ノートブックインスタンスが他のサービスを呼び出す権限を付与するために必要です。
たとえば、データの読み取りとモデル成果物の保存のために S3 にアクセスする必要があり、IAM ロールには S3 バケットに対する読み取り/書き込み権限が必要です。
次に、ノートブックインスタンスを作成します。
他のフィールドは、今のところデフォルトのままにしておきます。