はじめての機械学習をデプロイしてみた(後編)

はじめに

前回の記事の Amazon sagemaker のチュートリアルの続きです。

次に、データを SageMaker インスタンスにダウンロードして、データフレームにロードする必要があります。
次のコードをコピーして実行します。

image.png
次に、データをシャッフルし、トレーニングデータとテストデータに分割します。

トレーニングデータ
(顧客の70%)がモデルのトレーニングループ中に使用されます。
勾配ベースの最適化を使用して、モデルパラメータを繰り返し調整します。
モデルエラーを最小化していきます。

テストデータ
(顧客の30%を、残りの)モデルの性能を評価し、目に見えないデータに、訓練されたモデルのデフォルト値を測定するために使用されます。

次のコードを新しいコードセルにコピーし、[run]を選択してデータをシャッフルおよび分割します。

image.png

ステップ4.データからモデルをトレーニングする

トレーニングデータセットを使用して機械学習モデルをトレーニングします。

ビルド済みXGBoostモデルを使用するには、トレーニングデータのヘッダーと最初の列を再フォーマットし、S3バケットからデータをロードする必要があります。

次のコードを新しいコードセルにコピーし、[Run]を選択してデータを再フォーマットしてロードします。

次に、Amazon SageMaker セッションをセットアップし、XGBoost モデルのインスタンス(推定器)を作成し、モデルのハイパーパラメーターを定義する必要があります。
次のコードを新しいコードセルにコピーし、[ 実行 ] を選択します。

データが読み込まれ、XGBoost 推定器が設定されたら、次のコードを次のコードセルにコピーして[実行]を選択することにより、ml.m4.xlarge インスタンスで勾配最適化を使用してモデルをトレーニングします。

数分後、生成されるトレーニングログの表示を開始する必要があります。

成功すればこのようにログが出てきます。
image.png

コンソール上でもこのように、トレーニングジョブが立ち上がっています。

2020-05-14_14h40_17.png

ステップ5.モデルをデプロイする

このステップでは、トレーニング済みモデルをエンドポイントにデプロイし、CSVデータを再フォーマットしてロードしてから、モデルを実行して予測を作成します。

サーバーにモデルをデプロイし、アクセス可能なエンドポイントを作成するには、次のコードを次のコードセルにコピーして、[ 実行 ] を選択します。

銀行商品に登録されたテストデータの顧客がいるかどうかを予測するには、次のコードを次のコードセルにコピーして、[ Run ] を選択します。

2020-05-14_14h38_44.png

ステップ6.モデルのパフォーマンスを評価する

このステップでは、機械学習モデルのパフォーマンスと精度を評価します。

以下のコードをコピーして貼り付け、[Run]を選択します。

混合行列と呼ばれるテーブルの実際の値と予測値を比較します。

予測に基づいて、テストデータの90%の顧客に対して、顧客が預金証書を正確に登録すると予測したと、結論付けることができます。
登録済みの精度は65%(278/429)で、90%(10,785 / 11,928)登録しませんでした。

image.png

ステップ7.リソースを終了する

このステップでは、Amazon SageMaker 関連のリソースを終了します。

重要※
アクティブに使用されていないリソースを終了すると、コストが削減されます。
リソースを終了しないと、料金が発生します。

Amazon SageMaker エンドポイントと S3 バケット内のオブジェクトを削除するには、次のコードをコピーして貼り付け、実行します。

2020-05-29_09h53_49.png

感想

ただデータを用意するだけではなく、訓練したりテストしたり、様々なデータが機械学習には必要であることが分かったと思います。
さらにその精度を評価したり。本当に結果が正しいものかを推測する必要もあります。
今回はコンソール画面ではなく、Jupyter-notebook 上でほとんど完結する内容でした。
あまり使い慣れていない方でも気軽に試せるので、ぜひ実際にやってみてください。

公式リンク

Amazon SageMaker

 

 

SageMakerの導入ならナレコムにおまかせください。

日本のAPNコンサルティングパートナーとしては国内初である、Machine Learning コンピテンシー認定のナレコムが導入から活用方法までサポートします。お気軽にご相談ください。

ソリューションページはこちら

 

この記事を書いた人

aws-recipe-user