Amazon Machine Learning サービスの更新や、その新しいユーザーの受け入れは行っていません。このドキュメントは既存のユーザー向けに提供されていますが、更新は終了しています。詳細については、「Amazon Machine Learning とは」を参照してください。
バッチ予測出力ファイルの読み込み
バッチ予測出力ファイルを取得するには、次の手順を実行します。
-
バッチ予測のマニフェストファイルを見つけます。
-
マニフェストファイルを読み、出力ファイルの場所を決定します。
-
予測を含む出力ファイルを取得します。
-
出力ファイルの内容を解釈します。コンテンツは、予測を生成するために使用された ML モデルのタイプによって異なります。
次のセクションでは、手順について詳しく説明します。
バッチ予測のマニフェストファイルを見つける
バッチ予測のマニフェストファイルには、入力ファイルを予測出力ファイルにマップする情報が含まれています。
マニフェストファイルを見つけるには、バッチ予測オブジェクトを作成したときに指定した出力場所から開始します。完了したバッチ予測オブジェクトをクエリして、Amazon ML API または https://console.aws.amazon.com/machinelearning/
マニフェストファイルは、出力場所とマニフェストファイルの名前 (拡張子 /batch-prediction/
が追加されたバッチ予測の ID) に追加される静的な文字列 .manifest
で構成されるパスの出力場所にあります。
たとえば、ID bp-example
でバッチ予測オブジェクトを作成し、S3 の場所 s3://examplebucket/output/
を出力場所として指定すると、ここにマニフェストファイルを見つけられます。
s3://examplebucket/output/batch-prediction/bp-example.manifest
マニフェストファイルの読み込み
マニフェストファイルのコンテンツは JSON マップとしてエンコードされます。キーは S3 入力データファイルの名前の文字列で、値は関連するバッチ予測結果ファイルの文字列です。各入力/出力ファイルのペアには 1 つのマッピング行があります。これまでの例を引き続き使用します。BatchPrediction
オブジェクトの作成の入力が、s3://examplebucket/input/
にある data.csv という単一のファイルで構成されている場合、次のようなマッピング文字列が表示されることがあります。
{"s3://examplebucket/input/data.csv":" s3://examplebucket/output/batch-prediction/result/bp-example-data.csv.gz"}
BatchPrediction
オブジェクトの作成への入力が、data1.csv、data2.csv、および data3.csv という 3 つのファイルで構成され、それらがすべて S3 の場所 s3://examplebucket/input/
に格納されている場合は、マッピング文字列は次のようになります。
{"s3://examplebucket/input/data1.csv":"s3://examplebucket/output/batch-prediction/result/bp-example-data1.csv.gz", "s3://examplebucket/input/data2.csv":" s3://examplebucket/output/batch-prediction/result/bp-example-data2.csv.gz", "s3://examplebucket/input/data3.csv":" s3://examplebucket/output/batch-prediction/result/bp-example-data3.csv.gz"}
バッチ予測出力ファイルの取得
マニフェストマッピングから取得した各バッチ予測ファイルをダウンロードし、ローカルで処理することができます。ファイル形式は CSV で、gzip アルゴリズムで圧縮されています。そのファイル内には、対応する入力ファイルの入力観測ごとに 1 行があります。
予測をバッチ予測の入力ファイルと結合するには、2 つのファイルのレコードごとの簡単なマージを実行します。バッチ予測の出力ファイルには、常に予測入力ファイルと同じ数のレコードが同じ順序で含まれています。入力観測が処理に失敗し、予測を生成できない場合、バッチ予測の出力ファイルは、対応する場所に空白行を持ちます。
バイナリ分類 ML モデルのバッチ予測ファイルのコンテンツの解釈
バイナリ分類モデルのバッチ予測ファイルの列は、bestAnswer および score と呼ばれます。
bestAnswer 列には、予測スコアをカットオフスコアと比較して得られた予測ラベル (「1」または「0」) が含まれます。カットオフスコアの詳細については、「スコアカットオフの調整」を参照してください。ML モデルのカットオフスコアは Amazon ML API または Amazon ML コンソールのモデル評価機能のいずれかを使用して設定します。カットオフスコアを設定しない場合、Amazon ML ではデフォルト値の 0.5 が使用されます。
スコア列には、この予測のために ML モデルによって割り当てられた未加工の予測スコアが含まれています。Amazon ML はロジスティック回帰モデルを使用するため、このスコアは真の (「1」) 値に対応する監視の確率をモデル化しようとします。スコアは科学的表記で報告されるので、次の例の最初の行では、値 8.7642E-3 は 0.0087642 に等しいことに注意してください。
たとえば、ML モデルのカットオフスコアが 0.75 の場合、バイナリ分類モデルのバッチ予測出力ファイルのコンテンツは次のようになります。
bestAnswer,score 0,8.7642E-3 1,7.899012E-1 0,6.323061E-3 0,2.143189E-2 1,8.944209E-1
入力ファイルの 2 番目と 5 番目の観測値は 0.75 を超える予測スコアを受けているため、これらの観測値の bestAnswer 列は値「1」を示し、他の観測値は値「0」を示します。
複数クラスの分類 ML モデルのバッチ予測ファイルのコンテンツの解釈
複数クラスモデルのバッチ予測ファイルには、トレーニングデータに含まれるクラスごとに 1 つの列が含まれています。バッチ予測ファイルのヘッダー行に列名が表示されます。
複数クラスモデルから予測をリクエストすると、Amazon ML は、入力ファイルの各観測について、(入力データセットで定義されている各クラスに 1 つずつ) いくつかの予測スコアを計算します。これは、他のクラスと対照して、この観察がこのクラスに当てはまる確率 (0 と 1 の間で測定される) を尋ねているのと同等です。各スコアは、「観察がこのクラスに属する確率」と解釈することができます。予測スコアは、任意のクラスに属する観測の基盤となる確率をモデル化するため、行全体のすべての予測スコアの合計は 1 です。モデルの予測クラスとして 1 つのクラスを選択する必要があります。最も一般的には、最も高い確率を持つクラスをベストアンサーとして選択します。
たとえば、1~5 の星スケールに基づいて、製品の顧客の評価を予測しようとします。クラスの名前が 1_star
、2_stars
、3_stars
、4_stars
、および 5_stars
である場合、複数クラスの予測出力ファイルは次のようになります。
1_star, 2_stars, 3_stars, 4_stars, 5_stars 8.7642E-3, 2.7195E-1, 4.77781E-1, 1.75411E-1, 6.6094E-2 5.59931E-1, 3.10E-4, 2.48E-4, 1.99871E-1, 2.39640E-1 7.19022E-1, 7.366E-3, 1.95411E-1, 8.78E-4, 7.7323E-2 1.89813E-1, 2.18956E-1, 2.48910E-1, 2.26103E-1, 1.16218E-1 3.129E-3, 8.944209E-1, 3.902E-3, 7.2191E-2, 2.6357E-2
この例では、最初の観測値は 3_stars
クラスの予測スコア (予測スコア = 4.77781E-1) が最も高いため、結果は 3_stars
クラスがこの観測のベストアンサーであると解釈します。予測スコアは科学的表記で報告されるので、4.77781E-1 の予測スコアは 0.477781 に等しいことに注意してください。
確率が最も高いクラスを選択したくない場合があります。たとえば、最小しきい値を確立するため、その値以下では、予測スコアが最も高い場合でもそのクラスをベストアンサーとみない場合があります。映画をジャンルに分類し、そのジャンルをベストアンサーと宣言する前に予測スコアを少なくとも 5E-1 にしたいとします。コメディに対して 3E-1、ドラマに対して 2.5E-1、ドキュメンタリーに対して 2.5E-1、およびアクション映画に対して 2E-1 の予測スコアを得るとします。この場合、ML モデルはコメディが最も可能性の高い選択肢だと予測しますが、それをベストアンサーとして選択しないことにします。予測スコアはどれもベースライン予測スコア 5E-1 を上回っていないため、その予測がそのジャンルを確実に予測するには不十分であると判断し、何か他のものを選択することになります。アプリケーションでは、このムービーのジャンルフィールドは「不明」として扱われます。
回帰 ML モデルのバッチ予測ファイルのコンテンツの解釈
回帰モデルのバッチ予測ファイルには、score という名前の列が 1 つ含まれています。この列には、入力データ内の各観測の未加工の数値予測が含まれます。値は科学的表記で報告されるので、-1.526385E1 という score は次の例の最初の行で -15.26835 に等しくなります。
この例では、回帰モデルで実行されるバッチ予測の出力ファイルを示しています。
score -1.526385E1 -6.188034E0 -1.271108E1 -2.200578E1 8.359159E0