

我們不再更新 Amazon Machine Learning 服務或接受新使用者。本文件可供現有使用者使用，但我們不再更新。如需詳細資訊，請參閱[什麼是 Amazon Machine Learning](https://docs.aws.amazon.com/machine-learning/latest/dg/what-is-amazon-machine-learning.html)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 讀取批次預測輸出檔案
<a name="reading-the-batchprediction-output-files"></a>

執行以下步驟，擷取批次預測輸出檔案：

1. 尋找批次預測資訊清單檔案。

1. 讀取資訊清單檔案，判斷輸出檔案的位置。

1. 擷取包含預測的輸出檔案。

1. 解譯輸出檔案的內容。目錄會根據用來產生預測的 ML 模型類型而有所不同。

以下章節會更詳細地說明操作步驟。

## 尋找批次預測資訊清單檔案
<a name="locating-the-batch-prediction-manifest-file"></a>

批次預測資訊清單檔案中包含的資訊，可將輸入檔案對應到預測輸出檔案。

若要尋找資訊清單檔案，請從建立批次預測物件時所指定的輸出位置開始。您可以使用 [Amazon ML API](https://docs.aws.amazon.com/machine-learning/latest/APIReference/) 或 https：//[https://console.aws.amazon.com/machinelearning/](https://console.aws.amazon.com/machinelearning/) 查詢已完成的批次預測物件，以擷取此檔案的 S3 位置。

資訊清單檔案所在的輸出位置路徑，包含附加到輸出位置的靜態字串 `/batch-prediction/`，和資訊清單檔案的名稱，也就是批次預測的 ID，再加上 `.manifest`。

例如，如果您建立 ID 為`bp-example` 的批次預測物件，並指定了 S3 位置 `s3://examplebucket/output/` 做為輸出位置，將會在以下位置找到資訊清單檔案：

`s3://examplebucket/output/batch-prediction/bp-example.manifest`

## 讀取資訊清單檔案
<a name="reading-the-manifest-file"></a>

.manifest 檔案的內容會編碼為 JSON 對應，其中的金鑰是一組 S3 輸入資料檔案名稱的字串，而值是一組相關聯批次預測結果檔案的字串。每對輸入/輸出檔案都有一行映射內容。繼續舉例而言，如果 `BatchPrediction` 物件的建立輸入包含名為 data.csv 的單一檔案，而此檔案位於 `s3://examplebucket/input/`，您可能就會看到與下文類似的映射字串：

```
{"s3://examplebucket/input/data.csv":"
s3://examplebucket/output/batch-prediction/result/bp-example-data.csv.gz"}
```

如果 `BatchPrediction` 物件的建立輸入包含名為 data1.csv、data2.csv 及 data3.csv 三個檔案，而這些檔案全都儲存在 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"}
```

## 擷取批次預測輸出檔案
<a name="retrieving-the-batch-prediction-output-files"></a>

您可以從資訊清單映射下載各個批次預測檔案，然後直接在本機處理。檔案格式是使用 gzip 演算法壓縮的 CSV。在該檔案內，對應輸入檔案中的每個輸入觀察皆各有一行。

若要讓預測與批次預測的輸入檔案合併在一起，您可以對兩個檔案執行簡單的依記錄合併動作。批次預測的輸出檔案一律包含與預測輸入檔案相同的記錄數量，而且順序相同。如果輸入觀察處理失敗，就不會產生任何預測，那麼批次預測的輸出檔案將會在對應位置上出現一行空白。

## 解譯二元分類 ML 模型的批次預測檔案內容
<a name="interpreting-the-contents-of-batch-prediction-files-for-a-binary-classification-ml-model"></a>

二元分類模型的批次預測檔案欄名為 **bestAnswer (最佳答案)** 和 **score (分數)**。

**bestAnswer (最佳答案)** 欄包含的預測標籤 (「1」或「0」) 是評估了預測分數相較於分界分數而得出的結果。如需分界分數的詳細資訊，請參閱[調整分界分數](https://docs.aws.amazon.com/machine-learning/latest/dg/evaluating_models.html)。您可以使用 Amazon ML API 或 Amazon ML 主控台上的模型評估功能，設定 ML 模型的分界分數。如果您未設定截止分數，Amazon ML 會使用預設值 0.5。

**分數**欄包含 ML 模型針對此預測指派的原始預測分數。Amazon ML 使用邏輯回歸模型，因此此分數會嘗試將對應至 true ("1") 值的觀察機率建立模型。請注意，**score (分數)** 是以科學記號標記法回報，因而下例第一列中的值 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
```

輸入檔案中第二個和第五個觀察皆有高於 0.75 的預測分數，因此這些觀察的 bestAnswer 欄會出現「1」的值，而其他觀察則出現「0」的值。

## 解譯二進位多級分類 ML 模型的批次預測檔案內容
<a name="interpreting-the-contents-of-batch-prediction-files-for-a-multiclass-classification-ml-model"></a>

在多等級模型的批次預測檔案中，將會包含一個用於訓練資料中各個等級的欄位。欄名稱會出現在批次預測檔案的標題列。

當您從多類別模型請求預測時，Amazon ML 會針對輸入檔案中的每個觀察運算數個預測分數，而輸入資料集中定義的每個類別各一個。這等同於詢問「相對於其他等級，此觀察歸為此等級的機率為何？(以 0 和 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 模型的批次預測檔案內容
<a name="interpreting-the-contents-of-batch-prediction-files-for-a-regression-ml-model"></a>

回歸模型的批次預測檔案中有一個欄，名為 **score (分數)**。此欄包含輸入資料中每個觀察的原始數字預測。這些數值以科學記號標記法回報，因而下例第一列中的 **score (分數)** 值 -1.526385E1 也就等於 -15.26835。

此範例顯示在回歸模型上執行的批次預測輸出檔案：

```
score

-1.526385E1

-6.188034E0

-1.271108E1

-2.200578E1

8.359159E0
```