ステップ 5: ML モデルを使用して予測を生成する - Amazon Machine Learning

Amazon Machine Learning サービスの更新や、その新しいユーザーの受け入れは行っていません。このドキュメントは既存のユーザー向けに提供されていますが、更新は終了しています。詳細については、「Amazon Machine Learning とは」を参照してください。

ステップ 5: ML モデルを使用して予測を生成する

Amazon Machine Learning (Amazon ML) は、バッチとリアルタイムの 2 種類の予測を生成できます。

リアルタイム予測は、Amazon ML がオンデマンドで生成する単一の観測に対する予測です。リアルタイム予測は、モバイルアプリ、ウェブサイト、および結果をインタラクティブに使用する必要のある他のアプリケーションに最適です。

バッチ予測は、一連の観測に対する予測のセットです。Amazon ML はバッチ予測でレコードを処理するため、処理に時間がかかることがあります。 がインタラクティブに結果を使用しない一連の観測または予測を必要とするアプリケーションには、バッチ予測を使用します。

このチュートリアルでは、潜在的な顧客が新製品をサブスクライブするかどうかを予測するリアルタイム予測を生成します。潜在的な顧客の大きなバッチ予測も生成します。バッチ予測の場合は、「banking-batch.csv」でアップロードした ステップ 1: データを準備する ファイルを使用します。

リアルタイム予測を作成しましょう。

注記

リアルタイム予測が必要なアプリケーションの場合は、ML モデルのリアルタイムエンドポイントを作成する必要があります。リアルタイムエンドポイントが利用可能な間は料金が発生します。リアルタイム予測を使用して関連するコストを負担する前に、リアルタイムエンドポイントを作成せずにウェブブラウザでリアルタイム予測機能を試すことができます。このチュートリアルでは、以下を実行します。

リアルタイム予測を試用するには
  1. [ML モデルレポート] ナビゲーションペインで、[Try real-time predictions (リアルタイム予測の試用)] を選択します。

  2. [レコードの貼り付け] を選択します。

  3. [レコードの貼り付け] ダイアログボックスで、次の条件を貼り付けます。

    32,services,divorced,basic.9y,no,unknown,yes,cellular,dec,mon,110,1,11,0,nonexistent,-1.8,94.465,-36.1,0.883,5228.1
  4. [Paste a record] (レコードの貼り付け) ダイアログボックスで [Submit] (送信) を選択し、この観測の予測を生成することを確認します。Amazon ML はリアルタイム予測フォームに値を入力します。

    注記

    個々の値を入力して、[] フィールドに値を入力することもできます。選択したメソッドにかかわらず、モデルをトレーニングするために使用しなかった観察を提供する必要があります。

  5. ページの下部で、[予測の作成] を選択します。

    予測は右側の [Prediction results (予測結果)] ペインに表示されます。この予測の [Predicted label (予測ラベル)] は 0 です。つまり、この潜在的な顧客はキャンペーンに反応しそうにありません。[Predicted label (予測ラベル)] 1 は、顧客がキャンペーンに応答する可能性が高いことを意味します。

ここで、バッチ予測を作成します。Amazon ML に使用している ML モデルの名前、および予測を生成する入力データの Amazon Simple Storage Service (Amazon S3) の場所 (Amazon ML はこのデータからバッチ予測データソースを作成します)、結果を格納するための Amazon S3 の場所を提供します。

バッチ予測を作成するには
  1. [Amazon Machine Learning]、[バッチ予測] の順に選択します。

  2. [新しいバッチ予測を生成] を選択します。

  3. [ML model for batch predictions (バッチ予測の ML モデル)] ページで、[ML model: Banking Data 1 (ML モデル: 銀行データ 1)] を選択します。

    Amazon ML は、ML モデル名、ID、作成時刻、および関連するデータソース ID を表示します。

  4. [Continue] (続行) をクリックします。

  5. 予測を生成するには、予測に必要なデータを Amazon ML に提供する必要があります。これは入力データと呼ばれます。まず、入力データをデータソースに入力して、Amazon ML からアクセスできるようにします。

    [入力データを特定] で、[データは S3 にあり、データソースを作成する必要があります] を選択します。

  6. [データソース名] に「Banking Data 2」を入力します。

  7. [S3 の場所] に、banking-batch.csv ファイルの完全な場所を入力します: your-bucket/banking-batch.csv/banking-batch.csv

  8. [CSV の 1 行目には列名が含まれていますか?] で、[はい] を選択します。

  9. [検証] を選択します。

    Amazon ML はデータの場所を検証します。

  10. [Continue] (続行) をクリックします。

  11. [S3 destination] (S3 送信先) には、「ステップ 1: データを準備する」でファイルをアップロードした Amazon S3 の場所の名前を入力します。Amazon ML はそこに予測結果をアップロードします。

  12. [Batch prediction name] (バッチ予測名) では、デフォルトの Batch prediction: ML model: Banking Data 1 をそのまま使用します。Amazon ML は、予測の作成に使用するモデルに基づいてデフォルトの名前を選択します。このチュートリアルでは、モデルと予測にはトレーニングデータソースの後に Banking Data 1という名前が付けられています。

  13. [Review] (レビュー) を選択します。

  14. [S3 アクセス権限] ダイアログボックスで、[はい] を選択します。

  15. [レビュー] ページで、[完了] を選択します。

    バッチ予測のリクエストが Amazon ML に送信され、キューに入ります。Amazon ML がバッチ予測を処理するのにかかる時間は、データソースのサイズと ML モデルの複雑さによって異なります。Amazon ML はリクエストを処理している間、[In Progress] (進行中) のステータスを報告します。バッチ予測が完了すると、リクエストのステータスが [完了済み] に変わります。ここで、結果を表示することができます。

予測を表示するには
  1. [Amazon Machine Learning]、[バッチ予測] の順に選択します。

  2. 予測一覧で、[Batch prediction: ML model: Banking Data 1 (バッチ予測: ML モデル: 銀行データ 1)] を選択します。[Batch prediction info (バッチ予測情報)] ページが表示されます。

  3. バッチ予測の結果を表示するには、Amazon S3 コンソール (https://console.aws.amazon.com/s3/) にアクセスし、[Output S3 URL] (S3 出力 URL) フィールドで参照される Amazon S3 の場所に移動します。ここから s3://aml-data/batch-prediction/result と似た名前の結果フォルダに移動します。

    予測は、.gz 拡張子の付いた圧縮された .gzip ファイルに保存されます。

  4. 予測ファイルをデスクトップにダウンロードし、解凍して開きます。

    このファイルには [bestAnswer] と [score] の 2 つの列と、データソース内の各観測の行があります。[bestAnswer] 列の結果は、「ステップ 4: ML モデルの予測パフォーマンスを確認し、スコアのしきい値を設定する」で設定したスコアのしきい値 0.77 に基づいています。0.77 を超える score は、bestAnswer が 1 であり、これは肯定的な応答または予測であり、score が 0.77 未満では bestAnswer が 0 であり、これは否定的な応答または予測です。

    次の例は、スコアしきい値 0.77 に基づく正および負の予測を示します。

正の予測。

この例では、[bestAnswer] の値は 1 で、score の値は 0.8228876 となります。[bestAnswer] の値が 1 であるのは、score がスコアのしきい値 0.77 よりも大きいためです。[bestAnswer] が 1 の場合、顧客が製品を購入する可能性が高いことを示すため、肯定的な予測とみなされます。

負の予測。

この例では、[bestAnswer] の値は 0 です。これは score の値が、スコアのしきい値である 0.77 よりも少ない 0.7695356 であるためです。[bestAnswer] が 0 の場合、顧客が製品を購入する可能性が低いことを示すため、否定的な予測とみなされます。

バッチの各行は、バッチ入力 (データソースの監視) の行に対応します。

予測を分析した後、ターゲットを絞ったマーケティングキャンペーンを実行できます。たとえば、予測スコア 1 のすべての人にチラシを送ることができます。

これで、モデルを作成し、レビューして、使用したので、作成したデータと AWS リソースをクリーンアップして、不要な課金が発生しないようにし、ワークスペースを整った状態に保ちます。